1. 程式人生 > >Android Studio中mipmap目錄和drawable目錄有什麼區別

Android Studio中mipmap目錄和drawable目錄有什麼區別

使用Android Studio開發時發現有2個目錄可以放置圖片: mipmap vs drawable,那麼他們有什麼區別呢?該選擇哪個呢?

這裡網羅各位大神的答案,共同學習:

答案1:

圖片還是放在drawable資料夾下吧,mipmap只放launcher icons就好了。
Google官方有介紹:Managing Projects Overview
drawable/
For bitmap files (PNG, JPEG, or GIF), 9-Patch image files, and XML files that describe Drawable shapes or Drawable objects that contain multiple states (normal, pressed, or focused). See the 

Drawable resource type.

mipmap/
For app launcher icons. The Android system retains the resources in this folder (and density-specific folders such as mipmap-xxxhdpi) regardless of the screen resolution of the device where your app is installed. This behavior allows launcher apps to pick the best resolution icon for your app to display on the home screen. For more information about using the mipmap folders, see 
Managing Launcher Icons as mipmap Resources

答案2:

Mipmaps早在Android2.2+就可以用了,但是直到4.3 google才強烈建議使用。把圖片放到mipmaps可以提高系統渲染圖片的速度,提高圖片質量,減少GPU壓力。so,do it

答案3:

我也想問這個問題。。。
經過我的研究,我認為 mipmap 支援多尺度縮放效果很好,比如一個 200*200 的圖片縮放,如果我們使用 mipmap 那麼系統會根據當前縮放範圍選擇 mipmap 裡面恰當的圖片,而不是想 drawable 目錄下是根據當前裝置的螢幕密度選擇恰當的圖片。如果一個 imageview 有縮放動畫,使用 drawable 下的圖片,會一直使用一張,來縮放圖片實現 imageview 縮放動畫,如果使用 mipmap 會根據縮放程度自動選擇比當前解析度大而又最接近當前解析度的圖片來做縮放處理,這樣就實現了 google 官方文件中描述的更好視覺效果,更高效率的目的。這也和 mipmap 這個技術的本身含義吻合,除非 google 亂取名字。而 google 文件裡面說 laucher icon 使用 mipmap 我認為是因為 laucher icon 在 laucher app 裡面可能有動畫,或者有的 laucher app 使用的 laucher icon 解析度比 google 規定的大,導致使用 drawable 下面的圖片會放大,而顯示效果不好。


總結:

保守點跟著官方文件走:普通圖片放drawable,icon圖示放mipmap。既然mipmap自適應縮放效果好,那就把一些動畫的圖片也放進去吧。