Android的mipmap和drawable的区别和使用
来源:互联网 发布:网络安全工程师怎么考 编辑:程序博客网 时间:2024/05/23 00:41
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 下面。
下面是引用自 google 官方的描述
Mipmapping for drawables
Using a mipmap as the source for your bitmap or drawable is a simple way to provide a quality image and various image scales, which can be particularly useful if you expect your image to be scaled during an animation.
Android 4.2 (API level 17) added support for mipmaps in the Bitmap class—Android swaps the mip images in your Bitmap when you’ve supplied a mipmap source and have enabled setHasMipMap(). Now in Android 4.3, you can enable mipmaps for a BitmapDrawable object as well, by providing a mipmap asset and setting the android:mipMap attribute in a bitmap resource file or by calling hasMipMap().
参考:
android reference bitmap
- Android的mipmap和drawable的区别和使用
- android studio mipmap 和drawable的区别
- Android mipmap 和 drawable 文件夹的区别
- Android中mipmap 和 drawable 的区别
- Android mipmap和drawable的区别
- Android mipmap 和 drawable 的区别
- mipmap和drawable一个使用的区别
- Drawable和Mipmap的区别
- mipmap 和 drawable 的区别
- mipmap 和 drawable 的区别
- mipmap 和 drawable 的区别
- mipmap和drawable的区别
- mipmap 和 drawable 的区别
- Android Studio Drawable和Mipmap文件夹的区别
- Android studio drawable-hdpi和mipmap-hdpi的区别
- android mipmap目录和drawable目录的区别
- Android studio drawable-hdpi和mipmap-hdpi的区别
- Android mipmap文件夹和drawable文件夹的区别
- 使用纹理制作特效
- Python-CodeWars-17-11-26
- 【Scikit-Learn 中文文档】流形学习
- CSS background-position属性
- java内部类
- Android的mipmap和drawable的区别和使用
- php中的数组
- MediaCodec基础入门
- MyBatis之全局配置文件(Configuration XML)之typeAliases别名
- 欢迎使用CSDN-markdown编辑器
- Go基础
- Myeclipse2016在线安装svn,本地安装
- java异常处理技术
- linux系统中登录深澜有线校园网方法(不用下载客户端)