1.谷歌官方的說法
我覺得是這樣的:
mipmap支持多尺度縮放效果很好,比如一個200*200的圖片縮放理疙,如果我們使用mipmap那么系統(tǒng)會根據(jù)當前縮放范圍選擇mipmap里面恰當?shù)膱D片,而不是想drawable目錄下是根據(jù)當前設(shè)備的屏幕密度選擇恰當?shù)膱D片饥漫。如果一個imageview有縮放動畫折砸,使用drawable下的圖片,會一直使用一張唆阿,來縮放圖片實現(xiàn)imageview縮放動畫,如果使用mipmap會根據(jù)縮放程度自動選擇比當前分辨率大而又最接近當前分辨率的圖片來做縮放處理锈锤,這樣就實現(xiàn)了google官方文檔中描述的更好視覺效果驯鳖,更高效率的目的。這也和mipmap這個技術(shù)的本身含義吻合久免,除非google亂取名字浅辙。而google文檔里面說
laucher icon使用mipmap我認為是因為laucher icon在laucher app里面可能有動畫,或者有的laucher app使用的laucher icon分辨率比google規(guī)定的大阎姥,導(dǎo)致使用drawable下面的圖片會放大记舆,而顯示效果不好。實際應(yīng)用可以這樣:
mipmap只是用來放啟動圖標的(原文:mipmap/Forapp launcher icons.)呼巴。
而PNG泽腮、JPEG御蒲、GIF、點九圖诊赊、XML厚满,還是全部放在drawable.
2. mipmap中不能存放9patch圖片
3. 在使用drawable需要注意的是
根據(jù)android的開發(fā)建議,我們應(yīng)該在準備圖片資源的時候盡量給每種密度都準備一套豪筝,這樣可以使屏幕的適配性達到最好痰滋,這也是因為我們android機型眾多的一個基本要求摘能。但是實際情況一般是ui只會給你一套圖片:根據(jù)我們上面的測試续崖,可以發(fā)現(xiàn)當一張圖片放在高密度的包下,圖片會被縮小团搞,除了看著小點好像還沒什么严望,但是當在低密度的包下,圖片的放大必然會引起占用更多的內(nèi)存逻恐。因為圖片變大了像吻,占用的像素點也就更多了,而這也必然會導(dǎo)致內(nèi)存的占用增加复隆。我相信很多在職開發(fā)人員都有遇到拨匆,就是當你的項目慢慢變大后,你引用一張hdpi像素的照片時挽拂,都極有可能發(fā)生OOM惭每,但如果放在高密度的xxhdp或者xxxhdpi的時候,這樣的情況就不會發(fā)生亏栈。我們最佳的放置應(yīng)該在高密度的文件夾下台腥,而目前市面最合適的是xxhdpi。