java - examples - ¿Es una buena idea usar la biblioteca de Google Guava para el desarrollo de Android?
guava java examples (1)
(Demasiado grande para comentar, así que publico una respuesta.) Personalmente, uso toda la biblioteca de Guava en cada proyecto de Java y cuando no tengo problemas de rendimiento significativos y adecuadamente perfilados . Si tiene, por ejemplo, problemas de memoria como en el entorno de Android, puede usar ProGuard para obtener solo las partes de guayaba que realmente necesita.
Además, appbrain.com/stats/libraries/details/guava/google-guava , no solo las pequeñas, es decir, Google Search y Youtube, que provienen directamente de Google.
(También debería ver la nota de compatibilidad ).
Estoy involucrado en el desarrollo de la aplicación Android, que es un cliente móvil bastante "grueso" para un servicio web. Se comunica fuertemente con el servidor pero también tiene mucha lógica interna. Entonces, decidí usar algunas características de la biblioteca de Google Guava
para simplificar el proceso de desarrollo. Aquí hay una lista de características que me interesan mucho: colecciones inmutables, utilidades básicas, extensiones de colecciones, programación funcional de azúcar y modismos ( common.collect
y common.base
), utilidades primitivas ( common.primitives
), hash utilities ( common.hash
), utils concurrentes (futuros y AsyncFunction
). Cosas que no quiero usar en Android: common.cache
(vea la pregunta a continuación), common.eventbus
(tenemos mejores libs específicas para Android para esto, como Otto ), common.io
(ahora podemos usar okio para Android) .
Leí que usar Guava para Android puede ralentizar significativamente el proceso de compilación y también disminuir el rendimiento completo del tiempo de ejecución: mal rendimiento con Guava Cache en Android (en este caso es razonable y no es necesario usar el caché de Guava para Android) y agregar Google Proyecto Guava to Android: ralentiza significativamente la construcción
Entonces, ¿es eficiente usar la biblioteca de Guava en un proyecto de Android o esta biblioteca está diseñada para ser utilizada solo para el desarrollo del lado del servidor, y debería ir con soluciones estándar? Cualquier explicación será muy apreciada.