01. 手机分辨率显示密度的了解 (缩放倍数 = 设备dpi / 图片所在密度文件夹对应的最大dpi)
02. 关于drawable 和 mipmap 资源文件目录的区别
** 如果图标有固定的尺寸,不需要更改,那么更适合存放于 Drawable 目录;
** 如果图标需要变大变小,有动画效果,则更适合放置在 mipmap于目录中;
简单点的讲,就是 app启动用的icon图标就放在mipmap中,其它的图标就放在 drawable 中;
03. Android系统加载图片资源的规则
a. 优先加载匹配密度资源文件夹下的资源; (假定设备为320dpi, 则优先在 drawable-xhdpi 目录下搜索)
b. 如果对应资源文件夹不存在或文件夹下没有资源,则会往更高一级的目录去查找,(drawable-xhdpi --> drawable-xxhdpi --> drawable-xxxhdpi);
若找着了资源,则对资源进行相应的缩小后,展示出来;
c. 若更高分辨率下的资源目录都不存在或资源文件不存在,则向低级别密度资源文件夹中去搜索 ( drawable-xhdpi --> drawable-hdpi --> drawable-mdpi --> drawable-ldpi )
若找着了资源,则对资源进行相应的放大后,展示出来
d. drawable 为默认目录,当所有其它密度资源文件夹都搜索完后,会来drawable中找,若找着了,就放大展示,若没找着,就报错了;
04. 当前IDEA默认生成的Android项目下,资源目录结构
mipmap目录下,存放的都是软件图标;
drawable目录,没有过多的分辨率文件夹了,
大家常规的做法是,手动新建 drawable-hdpi设文件夹,并将图片资源文件放在 hdpi 文件夹下
05. 关于 drawable-v24 和 mipmap-anydpi-v26 的说明
drawable-v24: 针对于安卓7及以上版本的设备,可以在此目录下匹配资源,对于安卓7以下的版本,将找不着版本;
mipmap-anydpi-v26 对于安卓8及以上版本的设备有效,安卓8以下时无法在目录下搜索到资源;
06. 同一张图片,被放置在不同分辨率下的目录,在同一设备上的展示效率变化
--> 当存放在低分辨率目录时,系统会将图片放大展示;
--> 当存放在高分辨率目录时,系统会将图片缩小展示;