studio resource images ic_dialog_email example create android android-image android-drawable

resource - drawable android studio



Android: solo usa imágenes xxhdpi (4)

¿Hay algún inconveniente en solo usar imágenes xxhdpi y permitir que Android amplíe las imágenes? (Sí, podría ser más intensivo para la CPU, pero ¿es notable?) Lo probé en un Samsung s2 y la diferencia fue pequeña.

¿Hay una restricción para usar esto solo si se establece minSdk en XX, porque no había xxhdpi?


Además de la respuesta de Stephane, debo decir que una calidad de imagen sería mala, especialmente en dispositivos mdpi.


Aquí hay un par de inconvenientes que se me ocurren:

  • Con un uso intensivo de la CPU para cambiar el tamaño de las imágenes, la aplicación usará más batería y podría sentirse más lenta, especialmente en dispositivos más antiguos.
  • Las imágenes que va a cargar serán más grandes y usarán más memoria. En los dispositivos mdpi / hdpi, la máquina virtual en la que se ejecuta la aplicación solo tendrá una menor cantidad de memoria de almacenamiento disponible, y es posible que se encuentre con Excepciones de memoria insuficiente con mayor frecuencia si solo carga imágenes de alta calidad.
  • La calidad de la imagen puede no ser tan buena en dispositivos mdpi / hdpi, debido al cambio de tamaño. Esto realmente depende de qué imagen está cargando, pero las imágenes con líneas nítidas pueden aparecer un poco borrosas. Pero también quiero señalar que esto solo se aplica si realmente está haciendo pngs para cada tamaño a partir de un gráfico vectorial. Si solo está redimensionando su png xxhdpi a uno más pequeño, probablemente esté haciendo exactamente lo mismo que android está haciendo sobre la marcha, por lo que no habrá ninguna diferencia.

No estoy seguro de que vaya a haber una diferencia en la calidad de la imagen: incluso si proporciona las diferentes versiones del gráfico, es probable que solo sean bajadas de escala del original. Estoy dispuesto a apostar que la diferencia entre hacerlo en tiempo de ejecución y tiempo de diseño no será lo suficientemente significativa como para que un usuario lo note en la pantalla de un teléfono móvil.

Tampoco estoy seguro de una diferencia de rendimiento, sin embargo, incluso usted admite que es probable que haya un impacto negativo distinto de cero. Dado este hecho, creo que vale la pena preguntar "¿Por qué no proporcionar gráficos preescalados?" Hay herramientas (como el generador de iconos de Android Asset Studio ) que llevan el nivel de esfuerzo requerido para que eso suceda a casi 0.

En dispositivos móviles, cualquier acuerdo en el que negocie casi 0 trabajos por cualquier mejora potencial de rendimiento es un acuerdo que debe aceptar.


Sí, se introdujo xxhdpi drawable en la API 19. Si desea ejecutar su aplicación en un nivel de API inferior, no obtendrá ninguna imagen porque el sistema no puede acceder a los drawables xxhdpi.

Esto también es cierto si solo usa xhdpi con Android 2.3.