在android studio中我们创建项目后,在资源res文件中有drawable和mipmap两种存放图片的文件夹,在使用哪一个文件夹来存放图片,一直都很有争议:

android 在 API level 17 加入了 mipmap 技术,对 bitmap 图片的渲染支持 mipmap 技术,来提高渲染的速度和质量。
mipmap 是一种很早就有的技术了(纹理映射技术),android 中的 mipmap 技术主要为了应对图片大小缩放的处理,在android 中我们提供一个 bitmap 图片,由于应用的需要(比如缩放动画),可能对这个 bitmap 进行各种比例的缩小,为了提高缩小的速度和图片的质量,android 通过 mipmap 技术提前对按缩小层级生成图片预先存储在内存中,这样就提高了图片渲染的速度和质量。在API中通过 Bitmap 的 public final void setHasMipMap (boolean hasMipMap) 方法可以让系统渲染器尝试开启 Bitmap 的 mipmap 技术。但是这个方法只能建议系统开启这个功能,至于是否正真开启,还是由系统决定。

res 目录下面 mipmap 和 drawable 的区别也就是上面这个设置是否开启的区别。
mipmap 目录下的图片默认 setHasMipMap 为 true,drawable 默认 setHasMipMap 为 false。

google 建议大家只把 app 的启动图标放在 mipmap 目录中,其他图片资源仍然放在 drawable 下面。

 

 

由于运行 Android 的设备具有多种屏幕密度,您应始终提供能够根据各种通用密度级别(低密度、中密度、高密度和超高密度)进行定制的位图资源。这有助于您在所有屏幕密度上获得良好的图形质量和性能。如需生成这些图像,您应以矢量格式的原始资源为基础,按以下尺寸缩放比例生成每种屏幕密度对应的图像:

  • xhdpi:2.0
  • hdpi:1.5
  • mdpi:1.0(基准)
  • ldpi:0.75

这意味着,如果您为 xhdpi 设备生成了一幅 200x200 的图像,则应分别按 150x150、100x100 和 75x75 图像密度为 hdpi 设备、mdpi 设备和 ldpi 设备生成同一资源。然后,将生成的图片文件置于 res/ 下的相应子目录中,系统将自动根据运行您的应用的设备的屏幕密度选取正确的文件:

MyProject/  res/    drawable-xhdpi/        awesomeimage.png    drawable-hdpi/        awesomeimage.png    drawable-mdpi/        awesomeimage.png    drawable-ldpi/        awesomeimage.png

之后,每当您引用 @drawable/awesomeimage 时,系统便会根据屏幕 dpi 选择相应的位图。将您的启动器图标置于 mipmap/ 文件夹中。

res/...    mipmap-ldpi/...        finished_launcher_asset.png    mipmap-mdpi/...        finished_launcher_asset.png    mipmap-hdpi/...        finished_launcher_asset.png    mipmap-xhdpi/...        finished_launcher_asset.png    mipmap-xxhdpi/...        finished_launcher_asset.png    mipmap-xxxhdpi/...        finished_launcher_asset.png

注:您应该将所有启动器图标都置于 res/mipmap-[density]/ 文件夹而非 drawable/ 文件夹内,以确保启动器应用使用最佳分辨率图标。 如需了解有关使用 mipmap 文件夹的详细信息,请参阅管理项目概览。

 

更多相关文章

  1. Android H5和App交互以及打开图库上传图片并显示
  2. android:background="@drawable/"图片拉伸问题
  3. Android图片资源的缩放问题
  4. Android大图片导致内存问题小结
  5. Android开发之如何获取Android手机屏幕的大小(分辨率、密度)
  6. Android imageview图片缩放实现
  7. Android 开发 调用图库选择图片实现和参数详解
  8. android在EditText中插入表情图片

随机推荐

  1. Android第三十一期 - 市面上所有引导页的
  2. Using color in Android, by XML
  3. Android中ListView的addFooterView不显示
  4. Android获取声音长度
  5. Android(安卓)图片加载工具类 Universal-
  6. android download file and save to sdCa
  7. Android 创建socket客户端
  8. Android 禁止ViewPager滑动
  9. 如何区别Android手机卡三大运营商
  10. android需要的访问权限(不断更新,希望大家