Android中提供了多个存放图片的文件夹,分别为mdpi,hdpi ,xhdpi xxhdpi, xxxhdpi。google文档上说,Andriod系统会根据手机屏幕的大小及屏幕密度去选择不同文件夹下的图片资源,以此来实现在不同大小不同屏幕分辨率下适配的问题。

比如在一个低分辨率的手机上,Android就会选择mdpi文件夹下的图片,但是如果没有在mdpi的文件夹下找见相关的资源文件,Android系统会首先从xxxhdpi 文件夹中选择文件,然后对图片资源进行缩放处理,显示在屏幕上;如果xxxhdpi 文件夹下也没有的话,依次类推,若都没找到话,会在默认的drawable文件夹中寻找。

又例如:
在一个1080×1920分辨率的手机上,Android就会选择xxhdpi 文件夹下的图片,但是如果没有在xxhdpi 的文件夹下找见相关的资源文件,Android系统会首先从xxxhdpi 文件夹中选择文件,然后对图片资源进行缩放处理,显示在屏幕上;如果xxxhdpi 文件夹下也没有的话,一次类推,若都没找到话,会在默认的drawable文件夹中寻找。

说白了的话,就是在对应的文件夹没找到,就从高分辨率的文件夹依次向低分辨率的文件夹寻找。

ps:同一张图片,低分辨率的文件夹在手机上展示会被扩大,高分辨率的文件夹在手机上会被缩小,具体原因很简单,我这里就不阐述了。其实,我们在xml中,完全可以通过dp适配。

下面在附图一张,很好的诠释了他们的关系:

android drawable-hdpi xhdpi xxhdpi xxxhdpi 的理解_第1张图片

更多相关文章

  1. Android中图片压缩分析(上)
  2. Android 主题之安装的APK主题文件
  3. android中图片的三级cache策略(内存、文件、网络)之三:文件缓存策略
  4. YUV420P、YUV420SP、NV12、NV21和RGB互相转换并存储为JPEG以及PN
  5. Android 4.0 Launcher2源码分析——Laucher界面元素分解(主布局文
  6. 读懂Android (1):使用Android内部的DownloadProvider下载文件,并

随机推荐

  1. Android TabHost Tutorial
  2. android API level
  3. Android ImageView和TextView居中
  4. Android NDK开发学习
  5. Android simpleperf
  6. android相对布局实例—登录界面
  7. android实现文件下载的几种方式
  8. android Q
  9. android.os.storage Kotlin |Java
  10. (转)Android Contacts(一)—— 读取联系人