Ich bin an der Entwicklung einer Android-Anwendung beteiligt, die ein ziemlich "dicker" mobiler Client für einen Webdienst ist. Es kommuniziert stark mit dem Server, hat aber auch viel innere Logik. Daher habe ich mich entschlossen, einige Funktionen der Google Guava
Bibliothek zu verwenden, um den Entwicklungsprozess zu vereinfachen. Hier ist eine Liste von Funktionen, die mich sehr interessieren: unveränderliche Sammlungen, Basis-Utils, Sammlungserweiterungen, funktionale Programmierung Zucker und Redewendungen ( common.collect
und common.base
), primitive Dienstprogramme ( common.primitives
), Hashing-Dienstprogramme ( common.hash
), gleichzeitige Dienstprogramme (Futures und AsyncFunction
). Dinge, die ich in Android nicht verwenden möchte : common.cache
(siehe Frage unten), common.eventbus
(wir haben bessere Android-spezifische Bibliotheken dafür, wie Otto ), common.io
(wir können okio verwenden für Android jetzt).
Ich habe gelesen, dass die Verwendung von Guava für Android den Kompilierungsprozess erheblich verlangsamen und auch die gesamte Laufzeitleistung verringern kann: Schlechte Leistung mit Guava Cache unter Android (in diesem Fall ist dies sinnvoll und es ist nicht erforderlich, Guavas Cache für Android zu verwenden) und Hinzufügen von Google Guava-zu-Android-Projekt - verlangsamt den Build erheblich
Ist es also effizient, die Guava-Bibliothek in einem Android-Projekt zu verwenden, oder ist diese Bibliothek nur für die serverseitige Entwicklung vorgesehen, und ich sollte mich für Standardlösungen entscheiden? Alle Erklärungen werden sehr geschätzt.
Antworten:
(Zu groß für einen Kommentar, daher poste ich eine Antwort.) Persönlich verwende ich die gesamte Guava-Bibliothek in jedem Java-Projekt und wenn ich keine signifikanten und richtig profilierten Leistungsprobleme habe. Wenn Sie beispielsweise Speicherprobleme wie in einer Android-Umgebung haben, können Sie mit ProGuard nur die Teile von Guava abrufen, die Sie wirklich benötigen.
Darüber hinaus gibt es viele Android-Apps, die Guava verwenden - nicht nur kleine, dh Google Search und Youtube, die direkt von Google stammen.
(Sie sollten auch den Kompatibilitätshinweis sehen .)
quelle