Android中加载res中图片的底层逻辑是怎样的?

2018-04-19  本文已影响0人  sjandroid

android在加载app中图片时,是如何决定从哪个drawable中加载图片的呢?

结论:

1:如果当前设备相对应的drawable有图片的话,则从该drawable获取资源。

2:如果此drawable中没有,则向上一级的drawable中查找,如果找到则加载此drawable中的资源。

3:如果还没有则向下一级寻找。

4:如果还是没有怎么办,则从drawable中查找。

接下来我们通过一个demo来验证这个结论。

资源目录:

代码:

case 1:

当前设备的密度为240dpi,所以是从"drawable-hdpi"中加载图片。

case 2:

删除"drawable-hdpi"中的图片,发现是从320dpi也就是"drawable-xhdpi"中加载图片。

case 3:

删除除了"drawable-mdpi"中的图片,发现是从160dpi也就是"drawable-mdpi"中加载图片。

case 4:

删除除了"drawable"中的图片,发现是从"drawable"中加载图片。

上一篇下一篇

猜你喜欢

热点阅读