Participo en el desarrollo de la aplicación de Android, que es un cliente móvil bastante "grueso" para un servicio web. Se comunica mucho con el servidor, pero también tiene mucha lógica interna. Entonces, decidí usar algunas características de la Google Guava
biblioteca para simplificar el proceso de desarrollo. Aquí hay una lista de características en las que estoy muy interesado: colecciones inmutables, utilidades base, extensiones de colección, programación de azúcar funcional y expresiones idiomáticas ( common.collect
y common.base
), utilidades primitivas ( common.primitives
), utilidades hash ( common.hash
), utilidades concurrentes (futuros y AsyncFunction
). Cosas que no quiero usar en Android: common.cache
(vea la pregunta a continuación), common.eventbus
(tenemos mejores bibliotecas específicas de Android para esto, como Otto ), common.io
(podemos usar okio para Android ahora).
Leí que usar Guava para Android puede ralentizar significativamente el proceso de compilación y también disminuir el rendimiento total 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 de Guayaba a Android: ralentiza significativamente la compilación
Entonces, ¿es eficiente usar la biblioteca Guava en un proyecto de Android o esta biblioteca está diseñada para usarse solo para el desarrollo del lado del servidor, y debo elegir soluciones estándar? Cualquier explicación será muy apreciada.
Respuestas:
(Demasiado grande para comentar, así que publico una respuesta). Personalmente, uso toda la biblioteca Guava en cada proyecto Java y cuando no tengo problemas de rendimiento significativos y con un perfil adecuado . Si tiene, por ejemplo, problemas de memoria como en el entorno de Android, puede usar ProGuard para obtener solo las partes de Guava que realmente necesita.
Además, hay muchas aplicaciones de Android que usan 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 ).
fuente