Determine whether we should drop dependency on ByteStreams
- Vorherrschende Sprache
- Java
- Sterne
- 12.1k
- Forks
- 4k
- Ø Merge
- 2 T. 17 Std.
- Gemergte PRs (30 T.)
- 37
Beschreibung
We purposefully avoided com.google.io for Android, which is why IoUtils existed. I'm not sure if anything there has changed, but #5834 started using com.google.io. ByteStreams pulls in a bit more code that would initially be expected and maintaining IoUtils was trivial. There is some potential performance gains (memory usage and CPU) to be had by ByteStreams, because it uses shards that are combined at the end vs one contiguous chunk of ByteArrayInputStream.
From #5834 we see that using ByteStreams added .5K and 14 methods. That's not much, but simultaneously seems a bit much for limited gain.
This came up as ByteStreams.toByteArray was noticed by a Google-internal Android checker for some related code. (cl/272629838)
Beitragsleitfaden
Rechercherichtung
Beginne mit der Überprüfung von #5834 und der Verwendungen von ByteStreams.toByteArray zusammen mit IoUtils im Android-bezogenen Code. Vergleiche die hinzugefügte Codegröße und die Methoden mit den hier beschriebenen potenziellen Speicher- und CPU-Vorteilen. Als abgeschlossen gilt, eine begründete Entscheidung darüber festzuhalten, ob die ByteStreams-Abhängigkeit entfernt werden sollte.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- java
- Bereich
- mobile
- Issue-Typ
- Refactoring
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 30/100