round - Android xxx-hdpi dispositivos reales
circle icons android (8)
Voy a lanzar mi aplicación, es un apk de 1.2Mb que incluye unos 120 iconos en 4 formatos diferentes (ldpi, mdpi, hdpi, x-hdpi).
Si agrego los íconos xx-dpi y xxx-hdpi, el apk aumenta y el tiempo de carga aumenta.
Hay muchos dispositivos de nivel de entrada por ahí con muy poca memoria y me gustaría que mi aplicación se ejecute en todas partes.
¿Realmente necesito agregar xx-hdpi?
¿Y hay un dispositivo real que requiere xxx-hdpi?
Creo que deberías enfocarte en las densidades de pantalla más populares, que son hdpi, xhdpi y xxhdpi. Vea este link para la distribución promedio mundial actual de cada densidad.
Desde la propia documentación de la iconografía de Android:
Algunos dispositivos amplían el ícono del iniciador hasta en un 25%. Por ejemplo, si la imagen del icono del lanzador de mayor densidad ya tiene una densidad extraalísima, el proceso de escalamiento hará que se vea menos nítido Por lo tanto, debe proporcionar un icono de iniciador de mayor densidad en el directorio drawable-xxxhdpi, que el sistema utiliza en lugar de escalar una versión más pequeña del icono.
Nota: el calificador drawable-xxxhdpi es necesario solo para proporcionar un icono de iniciador que puede aparecer más grande de lo normal en un dispositivo xxhdpi. No es necesario que proporcione recursos xxxhdpi para todas las imágenes de su aplicación.
más en: http://developer.android.com/design/style/iconography.html
No necesita ldpi, porque Android reduce el tamaño de hdpi a ldpi.
Desde https://developer.android.com/design/style/iconography.html
Nota: Android también admite pantallas de baja densidad (LDPI), pero normalmente no necesita crear activos personalizados en este tamaño porque Android reduce la escala de sus activos HDPI en 1/2 para que coincida con el tamaño esperado.
No necesita xxxhpdi para la mayoría de sus imágenes. Solo necesitas xxxhdpi para el ícono de tu lanzador. Consulte http://developer.android.com/guide/practices/screens_support.html
No debe utilizar el calificador xxxhdpi para elementos de la interfaz de usuario que no sean el icono del iniciador.
Es bastante claro en la cita anterior. En el ejemplo de diseño de carpeta que dan, muestran todas las densidades para las carpetas res/drawable
-xxhdpi
hasta -xxhdpi
, pero luego muestran res/mipmap
carpetas res/mipmap
-xxxhdpi
hasta -xxxhdpi
. Aquí hay más citas:
xxxhdpi
Recursos paraxxxhdpi
extra-extra-extra-extra-alta-densidad (xxxhdpi) (~ 640dpi). Use esto solo para el ícono del iniciador, vea la nota arriba.El calificador
mipmap-xxxhdpi
es necesario solo para proporcionar un icono de iniciador que puede aparecer más grande de lo normal en un dispositivo xxhdpi. No es necesario que proporcione recursos xxxhdpi para todas las imágenes de su aplicación.
No sé si hay un dispositivo que requiera xxx-hdpi, pero xx-hdpi todavía no se usa con mucha frecuencia. Pero lo mismo ocurre con ldpi, casi ningún dispositivo requiere ldpi. Si solo haces mdpi, hdpi y xhdpi, estará bien. Si un dispositivo requiere algo más grande o más pequeño, Android simplemente lo escala al tamaño correcto.
Aquí está lo que dice Android sobre esto:
Proporcionar diferentes dibujables de mapa de bits para diferentes densidades de pantalla
De forma predeterminada, Android escala los dibujables de mapa de bits (archivos .png, .jpg y .gif) y los dibujables de nueve parches (archivos .9.png) para que se procesen al tamaño físico adecuado en cada dispositivo. Por ejemplo, si su aplicación proporciona dibujables de mapa de bits solo para la línea de base, densidad de pantalla media (mdpi), entonces el sistema los escala cuando está en una pantalla de alta densidad, y los reduce cuando está en una pantalla de baja densidad. Esta escala puede causar artefactos en los mapas de bits. Para asegurarse de que sus mapas de bits se vean mejor, debe incluir versiones alternativas con diferentes resoluciones para diferentes densidades de pantalla. Los calificadores de configuración que puede usar para los recursos específicos de densidad son ldpi (bajo), mdpi (medio), hdpi (alto) y xhdpi (extra alto). Por ejemplo, los mapas de bits para pantallas de alta densidad deben ir en drawable-hdpi /.
Puedes encontrar la documentación aquí:
https://developer.android.com/guide/practices/screens_support.html
Espero que esto ayude
Olvídalo todo y hazlo simple!
Simplemente almacene las imágenes de mayor resolución en una sola carpeta. O en drawable-hdpi, y elimine otras imágenes de las demás carpetas dibujables.
Lo he probado en varios dispositivos y funciona a la perfección ...
Tuvimos que agregar xxxhdpi a nuestra aplicación para el Nexus 6, LG G3 y Samsung Galaxy Note 4. Habrá más dispositivos xxxdhpi en el futuro.
Realmente no deberías necesitar xxxhdpi
. Solo se introdujo debido a la forma en que los iconos del iniciador se escalan en el iniciador del nexus 5
Cuando regresé en enero de 2014, el Nexus 5 era el único dispositivo que utilizaba xxxhdpi
. Ahora muchos dispositivos, incluyendo el Nexus 6 y el LG G3, lo utilizan. Por lo tanto, sería una buena idea incluirlo en su aplicación.