Je suis impliqué dans le développement d'une application Android qui est un client mobile plutôt "épais" pour un service Web. Il communique fortement avec le serveur mais a également beaucoup de logique interne. J'ai donc décidé d'utiliser certaines fonctionnalités de la Google Guava
bibliothèque pour simplifier le processus de développement. Voici une liste de fonctionnalités qui m'intéressent beaucoup: collections immuables, utils de base, extensions de collection, sucre de programmation fonctionnelle et idiomes ( common.collect
et common.base
), utilitaires primitifs ( common.primitives
), utilitaires de hachage ( common.hash
), utils simultanés (futurs et AsyncFunction
). Choses que je ne veux pas utiliser sous Android: common.cache
(voir la question ci-dessous), common.eventbus
(nous avons de meilleures bibliothèques spécifiques à Android pour cela, comme Otto ), common.io
(nous pouvons utiliser okio pour Android maintenant).
J'ai lu que l'utilisation de Guava pour Android peut ralentir considérablement le processus de compilation et également diminuer l'ensemble des performances d'exécution: Mauvaises performances avec Guava Cache sur Android (dans ce cas, il est raisonnable et il n'est pas nécessaire d'utiliser le cache de Guava pour Android) et Ajout de Google Projet Guava to Android - ralentit considérablement la construction
Alors, est-il efficace d'utiliser la bibliothèque Guava dans un projet Android ou cette bibliothèque est conçue pour être utilisée uniquement pour le développement côté serveur, et je devrais opter pour des solutions standard? Toutes les explications seront très appréciées.
Réponses:
(Trop gros pour un commentaire, alors je poste une réponse.) Personnellement, j'utilise toute la bibliothèque Guava dans chaque projet Java et quand je n'ai pas de problèmes de performances significatifs et correctement profilés . Si vous avez, par exemple, des problèmes de mémoire comme dans l'environnement Android, vous pouvez utiliser ProGuard pour obtenir uniquement les parties de Guava dont vous avez vraiment besoin.
De plus, il existe de nombreuses applications Android utilisant Guava - pas seulement des petites, à savoir Google Search et Youtube, qui proviennent directement de Google.
(Vous devriez également voir la note de compatibilité .)
la source