美文网首页
2018-09-04

2018-09-04

作者: 码农从入门到放弃 | 来源:发表于2018-09-04 14:33 被阅读0次

关于安卓加载不同形式values文件夹优先级的探究


一.导入

我们大家都知道,安卓在加载values文件的时候。会根据屏幕的尺寸大小自动寻找合适的values文件夹加载,而values文件夹可能是: values,values-?dpi,values-分辩率x分辩率(用于px值屏幕适配),values-sw?dp(用于dp值屏幕适配)这几种形式。那么这几种形式的加载优先级到底是怎样的呢?

二.探究

1.用于测试的手机是小米6手机,分辨率为1080x1920。为了验证测试结果,在Activity加载的时候打印一下日志,代码如下:

图1

这行代码的意思是加载values文件夹中dimen里边的dp值,并转换成像素打印出来

2.创建不同形式的values文件,如下图:

图2

3.测试开始!

第1次运行,直接报错,提示values-sw359.5dp: Error: Invalid resource directory name。这行提示告诉我们

values-sw这种形式后边不能跟小数的dp值。

把values-sw359.5dp文件夹删除,进行第2次测试。测试结果是加载了values-sw360dp中的dp值

把values-sw360dp文件夹删除,进行第3次测试。测试结果是加载了values-sw359dp中的dp值

把values-sw359dp文件夹删除,进行第4次测试。测试结果是加载了values-xxhdpi中的dp值

把values-xxhdpi文件夹删除,进行第5次测试。测试结果是加载了values-xxxhdpi中的dp值

把values-xxxhdpi文件夹删除,进行第6次测试。测试结果是加载了values-xhdpi中的dp值

把values-xhdpi文件夹删除,进行第7次测试。测试结果是加载了values-hdpi中的dp值

把values-hdpi文件夹删除,进行第8次测试。测试结果是加载了values-1080x1920中的dp值

把values-1080x1920文件夹删除,进行第9次测试。测试结果是加载了values中的dp值

把values文件夹删除,进行第10次测试。测试报找不到资源错误

三.结论

当 values,values-?dpi,values-分辩率x分辩率,values-sw?dp这几种形式都存在的时候

1.会根据手机的分辩率大小先加载values-sw?dp这种形式的文件夹(这种文件夹形式用于dp适配,不懂的自行百度),如果找不到适合的文件夹会向下找不大于我们手机宽度dp值的文件夹,并且dp值不能为小数

2.如果values-sw?dp找不到适合的文件夹,则会找?hdpi这种形式的文件夹。因为我的手机的dpi值是480,因此先加载了xxhdpi,如果不存在xxhdpi则会向更高分辩率的dpi文件夹中找,如果更高分辩率的dpi文件夹找不到那么会往低分辨率的dpi文件夹中一级一级向下找

3.如果values-sw?dp和?hdpi都没有合适的文件夹的话则会加载values-分辩率x分辩率的文件夹

4.如果values-sw?dp和?hdpi和values-分辩率x分辩率都找不到的话最终会找values文件夹

总结一句话:优先级是values-sw?dp>?hdpi>values-分辩率x分辩率>values

相关文章

  • 2018-09-04

    2018-09-04 万千工品金秀 2018-09-04 00:21 · 字数 932 · 阅读 0 · 日记本 ...

  • 2018-09-04

    戴师傅 2018-09-04 2018-09-04 20:32 打开App (稻盛哲学学习会)打卡第126天 姓名...

  • 180904

    2018-09-04 #The Sense of Style The Sense of Style is not ...

  • 柳叶湖

    柳叶湖 胡99(胡建中) 2018-09-04 柳叶湖畔柳丝纤 ...

  • 统计日志记录最少天数

    NVIDIA笔试2018-09-04思路 统计日志记录最少天数 题目: InputThe first input ...

  • 西点新品上市简书

    上市时间:2018-09-04 1、市场活动 2、系统内操作 3、验收标准及保质期

  • A股主要指数的市盈率(PE)估值高度

    中证1000(SH000852)- 2018-09-04日, 当前值:21.0969, 平均值:51.25, 中位...

  • 来了去

    来了 成来过 又来 涂抹足迹 去不 了 以宽 阔容 恩慈时光 静默 解 2018-09-04

  • 懂你 L4-U1-4-Listening-QuickServe2

    流利说 D69 2018-09-04 一 一、复习 Level4-Unit1-Part3*Game-Speakin...

  • 数组去重排序

    NVIDIA笔试2018-09-04思路 题目:数组去重排序 Example: 样例输入 样例输出 解析 输入输入...

网友评论

      本文标题:2018-09-04

      本文链接:https://www.haomeiwen.com/subject/buygwftx.html