Desde Android 4.3 (Jelly Bean) ahora podemos hacer uso de las res/mipmap
carpetas para almacenar imágenes "mipmap".
Por ejemplo, Chrome para Android almacena sus iconos en estas carpetas en lugar de las res/drawable
carpetas más normales .
¿En qué se diferencian estas imágenes mipmap de las otras imágenes dibujables familiares?
Veo que en mi manifiesto, usamos el @mipmap/
calificador, en lugar de @drawable/
, lo que tiene sentido dado el nombre de la carpeta de recursos:
<activity
android:name=".MipmapDemp"
android:icon="@mipmap/ic_launcher" />
Referencias
El documento de las API de Android 4.3 tiene lo siguiente que decir:
Usar un mapa MIP como fuente para su mapa de bits o dibujable es una manera simple de proporcionar una imagen de calidad y varias escalas de imagen, lo que puede ser particularmente útil si espera que su imagen se escale durante una animación.
Android 4.2 (API nivel 17) agregó soporte para mipmaps en la clase de mapa de bits: Android intercambia las imágenes de mip en su mapa de bits cuando ha suministrado una fuente de mapa de mip y ha habilitado setHasMipMap (). Ahora, en Android 4.3, puede habilitar mapas mip para un objeto BitmapDrawable también, proporcionando un recurso mipmap y configurando el atributo android: mipMap en un archivo de recursos de mapa de bits o llamando a hasMipMap ().
No veo nada allí que me ayude a entender.
Los recursos de mapa de bits XML tienen una android:mipMap
propiedad:
Booleano Habilita o deshabilita la sugerencia de mipmap. Consulte setHasMipMap () para obtener más información. El valor predeterminado es falso.
Esto no se aplica a los íconos del iniciador hasta donde puedo ver.
La pregunta se planteó en Grupos de Google (¿ El propósito del nombre del recurso "mipmap"? ), A lo que Romain Guy respondió:
Es útil proporcionar una imagen con una resolución más grande que normalmente se calcularía (por ejemplo, en un dispositivo mdpi, Launcher puede querer que el ícono hdpi más grande muestre accesos directos de aplicaciones grandes).
Siento que esto casi tiene sentido, pero no del todo.
Todavía estoy dispuesto a seguir con el seguimiento de Randy Sugianto:
¿Cuáles son las ventajas de esto? ¿Hay alguna guía sobre cómo usar mipmaps, probablemente para mejores íconos de inicio?
Por supuesto, Wikipedia tiene una página para "Mipmap" , que se refiere a una técnica más antigua inventada en 1983, que no puedo identificar con la implementación actual de Android.
¿Deberíamos almacenar todos los íconos deres/mipmap
nuestras aplicaciones en carpetas estos días, y cuáles son las pautas para estas imágenes mipmap?
Actualización n. ° 1
Aquí hay una publicación de blog que intenta explicarlo un poco.
Pero la imagen utilizada en esa publicación de blog muestra lo que parece un archivo con muchos logotipos. Esto no es lo que veo en la carpeta mipmap de Chrome.
La mipmap-hdpi
carpeta de Chrome contiene tres imágenes. Uno es el logotipo de Chrome, por sí solo.
Curiosamente, es 72x72, no 48x48 lo que esperaría ver.
Quizás eso es todo lo que hay que hacer: ¿solo necesitamos mantener íconos más grandes en las carpetas de mipmap?
Actualización n. ° 2
La publicación de Android Developers Blog del 23/10/2014 confirma nuevamente la idea de usar las mipmap
carpetas para los iconos de las aplicaciones:
Al hablar sobre la densidad de pantalla del Nexus 6, el autor escribe:
Es una buena práctica colocar los íconos de su aplicación en carpetas mipmap (no en las carpetas dibujables) porque se usan en resoluciones diferentes de la densidad actual del dispositivo. Por ejemplo, se puede usar un icono de la aplicación xxxhdpi en el iniciador para un dispositivo xxhdpi.
Actualización n. ° 3
Tenga en cuenta que Android Studio crea los ic_launcher.png
íconos en las mipmap...
carpetas en lugar de las drawable...
carpetas que Eclipse usó para crearlos.