Guice Performance en Android

Como desarrollador de Java, me he acostumbrado a tener la inyección de dependencia disponible en las aplicaciones. Para Android sin embargo, soy especialmente cauteloso de rendimiento. ¿Cuáles son las implicaciones de rendimiento para usar Guice en una aplicación para Android? Supongo que hay algunas sobrecarga, pero es lo suficientemente importante que debería evitar el uso de Guice?

Mi uso de lo que probablemente sería sólo para inyectar unos pocos objetos compartidos en diversas actividades.

4 Solutions collect form web for “Guice Performance en Android”

A partir de la versión 3, Guice almacena objetos reflexivos para mejorar el rendimiento. Hay al menos un error contra dalvik para realizar búsquedas de anotación más rápido, pero el rendimiento actual es factible.

Me gustaría evitar el uso de DI en Android como sugiere google: http://developer.android.com/training/articles/memory.html#DependencyInjection

Dagger resuelve algunos problemas de tiempo, pero sigue desperdiciando la memoria para ningún beneficio real.

Roboguice (y Guice) pueden degradar significativamente el tiempo de inicio de la aplicación. Mi aplicación de tamaño moderado y aún no completo tardó casi 15 segundos en comenzar con un HTC EVO 4g.

Echa un vistazo a Dagger como una alternativa que no debe proporcionar prácticamente ninguna sobrecarga de inicio.

Definitivamente debe utilizar Dagger 2 para proyectos de Android si le interesa el rendimiento.

Dagger 2 no utiliza la reflexión para escanear el código de la aplicación. La implementación estática y compacta de Dagger significa que se puede usar en aplicaciones Android sin necesidad de tiempo de ejecución o uso de memoria.

  • Vida útil de los objetos en Java vs .Net
  • Falso error positivo de permiso de pelusa incluso después de pedir permiso en tiempo de ejecución
  • Android: Cajón de navegación sombra vertical
  • Decompile archivos .smali en un APK
  • ¿Utilizando color y color.darker en Android?
  • ¿Cómo obtener todos los nombres de tablas en la base de datos Android sqlite?
  • ¿Cómo eliminar el certificado instalado por el usuario mediante programación?
  • Cómo deshabilitar / activar jackson SerializationFeature.WRAP_ROOT_VALUE?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.