Si usa el asistente de activos vectoriales en Android Studio 1.5.0, cualquier XML de diseño vectorial que importe con ese asistente entrará en res/drawable/.
Sin embargo, el build/directorio y el APK resultante muestran que esos archivos XML se mueven a un res/drawable-anydpi-v21/directorio de recursos. La -v21parte tiene sentido, ya VectorDrawableque solo es compatible con API Level 21+. Sin embargo, -anydpiparece estar indocumentado. Hubiera esperado -nodpi, tanto para el destino de importación original como para el lugar donde el sistema de compilación elige moverlo.
¿Alguien ha visto declaraciones oficiales para qué -anydpimedios y con qué relación está -nodpi? Estoy buscando efectos prácticos, no simplemente lo que sugieren algunos comentarios de código.
fuente

Respuestas:
nodpi
Por ejemplo:
El punto aparecerá pequeño en xxhdpi, grande en ldpi.
Sin embargo, el solucionador de recursos coincidirá con un calificador específico si existe.
Por ejemplo
En un dispositivo hdpi Lollipop (API 21), se utiliza el mapa de bits .
En un dispositivo xhdpi Lollipop (API 21), se utiliza el vector.
anydpi
Por ejemplo
En un dispositivo hdpi Lollipop (API 21), se utiliza el vector .
En un dispositivo xhdpi Lollipop (API 21), se utiliza el vector.
Referencia
Nota : anydpi se agregó en el cambio Ic3288d0236fe0bff20bb1599aba2582c25b0db32 .
fuente
drawable. El comportamiento del SDK puede haber cambiado. Ver VectorDrawable: Android carga PNG xhdpi en lugar del recurso vectorialdrawabledirectorio de recursos, al igual que los dos directorios que cité en mi recompensa sondrawabledirectorios de recursos.-xxhdpidispositivo. Tengores/drawable-mdpi/nodpi_and_m.pngyres/drawable-nodpi/nodpi_and_m.xml. En un-xxhdpidispositivo Nexus 5, el recurso que se utiliza esres/drawable-nodpi/nodpi_and_m.xml. De acuerdo con su algoritmo, y mis expectativas,res/drawable-mdpi/nodpi_and_m.pngdebería usarse. Eso no es lo que está pasando.drawable-anydpi-v21. Si tiene la biblioteca de dibujo vectorial de soporte, puede colocarlos endrawable-anydpio simplementedrawable.El código fuente contiene los siguientes comentarios (línea 639):
Espero que esto aclare la confusión.
fuente
-nodpidirectorios se escalan con toda seguridad en función del tamaño, de acuerdo con las reglas que existan sobre cómo se utiliza el elemento de diseño.nodpi: Recursos para todas las densidades. Estos son recursos independientes de la densidad. El sistema no escala los recursos etiquetados con este calificador, independientemente de la densidad de la pantalla actual.anydpi: Este calificador coincide con todas las densidades de pantalla y tiene prioridad sobre otros calificadores. Esto es útil para elementos de diseño vectoriales. Agregado en API Nivel 21.fuente
Utilizo drawable-nodpi para todo, incluidos muchos gráficos grandes para mi juego. Una consecuencia indocumentada de escalar sus gráficos es que aumenta exponencialmente el uso de memoria. Por lo tanto, si tiene un gráfico de 1 MB que se puede dibujar, se escalará a 4 MB, 16 MB o 64 MB según la resolución del dispositivo del usuario. Y las resoluciones de los dispositivos siguen aumentando. Esa ampliación en realidad no aumenta la nitidez del gráfico, por supuesto. Las acciones de dibujo pueden determinar el tamaño de cada gráfico en relación con el tamaño de la pantalla de todos modos, sin necesidad de llenar la aplicación con varias carpetas de dibujo.
fuente