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.