在android studio中我們創(chuàng)建項(xiàng)目后,在資源res文件中有drawable和mipmap兩種存放圖片的文件夾,在使用哪一個(gè)文件夾來(lái)存放圖片,一直都很有爭(zhēng)議:
android 在 API level 17 加入了 mipmap 技術(shù),對(duì) bitmap 圖片的渲染支持 mipmap 技術(shù),來(lái)提高渲染的速度和質(zhì)量。
mipmap 是一種很早就有的技術(shù)了(紋理映射技術(shù)),android 中的 mipmap 技術(shù)主要為了應(yīng)對(duì)圖片大小縮放的處理,在android 中我們提供一個(gè) bitmap 圖片,由于應(yīng)用的需要(比如縮放動(dòng)畫(huà)),可能對(duì)這個(gè) bitmap 進(jìn)行各種比例的縮小,為了提高縮小的速度和圖片的質(zhì)量,android 通過(guò) mipmap 技術(shù)提前對(duì)按縮小層級(jí)生成圖片預(yù)先存儲(chǔ)在內(nèi)存中,這樣就提高了圖片渲染的速度和質(zhì)量。在A(yíng)PI中通過(guò) Bitmap 的 public final void setHasMipMap (boolean hasMipMap) 方法可以讓系統(tǒng)渲染器嘗試開(kāi)啟 Bitmap 的 mipmap 技術(shù)。但是這個(gè)方法只能建議系統(tǒng)開(kāi)啟這個(gè)功能,至于是否正真開(kāi)啟,還是由系統(tǒng)決定。
res 目錄下面 mipmap 和 drawable 的區(qū)別也就是上面這個(gè)設(shè)置是否開(kāi)啟的區(qū)別。
mipmap 目錄下的圖片默認(rèn) setHasMipMap 為 true,drawable 默認(rèn) setHasMipMap 為 false。
google 建議大家只把 app 的啟動(dòng)圖標(biāo)放在 mipmap 目錄中,其他圖片資源仍然放在 drawable 下面。