web-dev-qa-db-fra.com

Est-ce une bonne idée d’utiliser la bibliothèque Google Guava pour le développement de Android?)?

Je suis impliqué dans le développement de l'application Android, qui est un client mobile plutôt "épais" pour un service Web. Elle communique beaucoup avec le serveur, mais elle a aussi beaucoup de logique interne. J'ai décidé d'utiliser certaines fonctionnalités de Google Guava bibliothèque pour simplifier le processus de développement. Voici une liste de fonctionnalités qui m'intéressent beaucoup: collections immuables, utilitaires de base, extensions de collection, sucre de programmation fonctionnelle et idiomes (common.collect et common.base), utilitaires de primitives (common.primitives), utilitaires de hachage (common.hash), utils concurrents (futures et AsyncFunction). Les choses que je ne veux pas utiliser dans Android: common.cache (voir question ci-dessous), common.eventbus (nous avons mieux Android libs spécifiques pour cela, tels que Otto ), common.io _ (nous pouvons utiliser okio pour Android maintenant).

J'ai lu que l'utilisation de Guava pour Android peut considérablement ralentir le processus de compilation et également réduire les performances d'exécution: Mauvaises performances avec Guava Cache sur Android (dans ce cas, il s'agit raisonnable et il n’est pas nécessaire d’utiliser le cache de Guava pour Android) et Ajout de Google Guava à Android projet - ralentit considérablement la construction)

Alors, est-il efficace d’utiliser la bibliothèque Guava dans Android ou cette bibliothèque est conçue pour être utilisée seulement pour le développement côté serveur, et je devrais aller avec des solutions standard? Toute explication sera très appréciée.

121
Oleksandr Karaberov

(Trop grand pour un commentaire, je poste une réponse.) Personnellement, j'utilise une bibliothèque entière dans chaque projet Java et quand je n'ai pas significatif et correctement profilé problèmes de performances. Si, par exemple, vous rencontrez des problèmes de mémoire, comme dans l’environnement Android, vous pouvez utiliser ProGuard pour n’obtenir que les parties de votre goyave dont vous avez réellement besoin.

En outre, il existe de nombreuses Android applications utilisant Guava - pas seulement les petites, telles que Google Search et Youtube, qui proviennent directement de Google.

(Vous devriez aussi voir note de compatibilité .)

116
Xaerxess