如果您使用Android Studio1.5.0中的Vector Asset向导,那么使用该向导导入的任何矢量可绘制XML都会被放入res/drawable/
中。
但是,build/
目录和生成的APK显示这些XML文件被移到了res/drawable-anydpi-v21/
资源目录中。-v21
部分很有意义,因为VectorDrawable
只在API级别的21+上受支持。然而,-anydpi
似乎是没有文档的。对于原始导入目的地和构建系统选择移动它的位置,我都期望使用-nodpi
。
有没有人看过-anydpi
的官方声明,以及它与-nodpi
的关系?我正在寻找实际的效果,而不仅仅是一些代码注释所暗示的效果。
发布于 2018-03-18 03:47:50
我使用drawable-nodpi来做任何事情,包括我的游戏中大量的大图形。使用-anydpi扩展图形的一个未记录的后果是它会成倍地增加内存使用量。因此,如果您有一个1MB的图形可绘制,它将缩放到4MB,16MB,64MB,或更多,这取决于用户设备的分辨率。而且设备分辨率也在不断提高。当然,这种放大实际上并不会增加图形的清晰度。绘图操作可以指示每个图形相对于屏幕尺寸应该有多大,不需要膨胀应用程序。也不具有多个分辨率特定的绘图文件夹。
发布于 2015-12-08 22:03:11
source code包含以下注释(第639行):
/**
* Value for {@link #densityDpi} for resources that scale to any density (vector drawables).
* {@hide}
*/
public static final int DENSITY_DPI_ANY = 0xfffe;
/**
* Value for {@link #densityDpi} for resources that are not meant to be scaled.
* {@hide}
*/
public static final int DENSITY_DPI_NONE = 0xffff;
希望这能消除你的困惑。
https://stackoverflow.com/questions/34156957
复制相似问题