Androidmipmap全解析

Posted 码农搬砖_2020

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Androidmipmap全解析相关的知识,希望对你有一定的参考价值。

 

你将学会mipmap是啥,mipmap与drawable的区别?怎么使用mipmap?

mipmap-[density]的位置


先看一下android项目结构视图:是不是多了一类文件夹mipmap-[density]

    

mipmap和drawable文件夹都是用于放置图片的。

mipmap和drawable的使用区别


mipmap和drawable文件夹都是用于放置图片的,但也有所不同。

1.将生成的图片文件置于 res/ 下的相应子目录中,系统将自动根据运行您的应用的设备的屏幕密度选取正确的文件。如下:

 

res/...
drawable-xhdpi
      awesomeimage.png
drawble-hdpi
      awesomeimage.png

...... 

 

之后,每当您引用 @drawable/awesomeimage 时,系统便会根据屏幕 dpi 选择相应的位图。

2.将您的启动器图标置于 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是啥?


mipmap是在API17中引入的图片渲染技术,来提高渲染速度和质量。

Android中,经常会对bitmap进行处理,API17中,Bitmap新增了2个方法。

 

voidsetHasAlpha(boolean hasAlpha)

true:标识此Bitmap包含透明的像素。

false:标识此Bitmap所有像素不透明。 

final voidsetHasMipMap(boolean hasMipMap)

给图片渲染器一个建议:当bitmap进行缩放绘制的时候,使用mipmap渲染技术。如果你知道将要绘制的图是原始尺寸得50%,打开开关设置,将获取更高的质量。注意,渲染器方面暗示它可能需要分配额外的内存来保存这个位图。

ps:这个参数的设置,可能被渲染器忽略,不保证一定执行。

微信扫一扫,获取更多知识


 

以上是关于Androidmipmap全解析的主要内容,如果未能解决你的问题,请参考以下文章

解析***页面内容

iOS移动开发周报 - iOS 9 SDK 暗示新款 iPad

为啥列表视图的高度是全尺寸?

CSS Sprite 图像和响应式设计。它是不是同时加载全尺寸和响应尺寸?

如何设置全尺寸角标

UI: 窗口全屏, 窗口尺寸