Android在 API level 17 加入了 mipmap 技術,對 bitmap 圖片的渲染支持 mipmap 技術,來提高渲染的速度和質量渺贤。
mipmap 是一種很早就有的技術了九秀,翻譯過來就是紋理映射技術。android 中的 mipmap 技術主要為了應對圖片大小縮放的處理掂林,在android 中我們提供一個 bitmap 圖片臣缀,由于應用的需要(比如縮放動畫),可能對這個 bitmap 進行各種比例的縮小泻帮,為了提高縮小的速度和圖片的質量精置,android 通過 mipmap 技術提前對按縮小層級生成圖片預先存儲在內存中,這樣就提高了圖片渲染的速度和質量锣杂。
api 中通過 Bitmap 的 public final void setHasMipMap (boolean hasMipMap)
方法可以讓系統(tǒng)渲染器嘗試開啟 Bitmap 的 mipmap 技術脂倦。但是這個方法只能建議系統(tǒng)開啟這個功能,至于是否正真開啟元莫,還是由系統(tǒng)決定赖阻。
res 目錄下面 mipmap 和 drawable 的區(qū)別也就是上面這個設置是否開啟的區(qū)別。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().
(翻譯的很爛將就理解吧)
產(chǎn)生的畫板
使用的產(chǎn)生與源位圖或可拉的是一個簡單的方法來提供高質量的圖像和各種圖像尺度,可以特別有用如果你期望你的圖像在一個動畫縮放苇侵。
Android 4.2(API級別17)添加支持產(chǎn)生的位圖class-Android互換mip圖像位圖中當你提供一個產(chǎn)生源和使setHasMipMap()。現(xiàn)在在Android 4.3中,您可以啟用產(chǎn)生BitmapDrawable對象,通過提供一個產(chǎn)生資產(chǎn)和設置Android:位圖資源產(chǎn)生屬性文件或通過調用hasMipMap()企锌。