被遺忘的Android mipmaps簡介

被遺忘的 Android mipmaps 簡介

**【導讀】**已經發布的 Android Studio1.1 版本是一個 bug 修復版本。在這個版本中,當你建立工程時一項改變將會吸引你的眼球。工程建立登錄的圖標會在 mipmap-resource 文件夾中,而不是 drawable 文件夾中。html

使用 mipmap 文件夾存放啓動圖標的好處

Android 開發團隊認爲使用 mipmap 文件夾保存啓動圖標是最佳的開發方式。使用 mipmap 的最大優點是你能夠在各類屏幕密度的設備下將資源存儲在 mipmap 文件夾下,而後對於特定屏幕密度的設備你能夠從 drawable 文件夾下去除掉與這個特定設備無關的資源信息。android

咱們用一個例子來講明這一特性。假設用戶有一個設備被標識爲xxhdpi的設備,那麼開發者 apk 中的 drawable 文件夾下的其餘分辨率大小的資源,例如 xxxhdpi 分辨率,就是不被須要的;換句話說,就是能夠被去除掉的。然而應用圖標極可能是與其餘資源圖片不一樣的,由於他可能佔據整個屏幕,所以你可能須要啓動圖標的分辨率高於其餘資源。而這時你爲了設備適配的緣由,高分辨率圖片所在的文件夾已經被你去除了,這時當程序運行時,系統會將原來低分辨率的圖片進行拉伸,然而這種作法可能會致使產生一個醜陋的模糊的圖片。swift

另外一方面,你可能會說,你並不會使用去除資源來減小 apk 大小的方式去製做不一樣版本的 apk 文件。這個時候你用 mipmap 文件夾去存儲登錄圖標看上去不會產生任何意義。然而這並不意味着你不該該使用它,最好的使用它的理由莫過於 Android 開發團隊認爲應該使用它,而且把它描述爲了開發的最佳實踐。他們知道在 Android 的開發線上將會產生什麼樣的新特性,並且儘管沒有人能肯定,可是 Android 開發團隊極可能計劃引入這樣一個新特性,就是在用戶下載 App 的時候,apk 會自動丟棄掉不合適的資源文件app

Android 登錄 mipmap 的歷史

在 Android 中 mipmap 資源文件夾很早就出現了,這個時間點遠遠早於他被介紹爲應該做爲 Android 開發社區應該大規模使用它的時間。Android 的官方團隊並無發佈過多的緣由來講明爲何要使用 mipmap 資源文件夾。在 Android 4.3 版本發佈的時候,Android 框架的卡法人員 hackbod 宣佈: 假如你正在爲不一樣屏幕分辨率版本的設備製做不一樣版本的 app,那麼你應該去了解 mipmap 資源文件夾,它與 drawable 文件夾確實是驚人的類似,除了它並不參與屏幕適配在你生成不一樣版本的目標 apk 時。 自從這個宣佈以後,若是你仔細觀察 Google 的產品,你會發現一些 app 確實這樣作了。效果是在展現時,僅僅只是向屏幕傳輸了所被須要的分辨率的圖標,可是各類分辨率的登錄圖標都別保存到了 mipmap 資源文件夾下。 隨着時間的推動,並無過多關於使用 mipmap 資源文件夾保存登錄圖片的消息,知道 Android 5.0 出如今 AOSP 以及 Nexus 設備出如今了市場上。Android 開發者的博客上標出了準備好讓你的 app 登錄 Nexus6 和 Nexus9. 這篇博文透露了一個應該使用 mipmap 文件夾的理由: 提供分辨率至少爲 xxxhpdi 的app 圖標由於身背能夠展現更大的圖標在登錄的時刻。最好的方法就是見app圖標放在 mipmap 文件夾下由於他將會根據屏幕分辨率以及使用場景選擇合適分辨率的圖片。例如 xxxhdpi 的圖標將會被展現在 xxhdpi 分辨率的設備上框架

使用 mipmap 建立 Android 工程

更新 Android Studio 到最新版本,任何一個新的工程都將會使用 mipmap 的方式建立。工具

將現有的工程改變爲使用 mipmap 文件夾

假如你有一個優秀的工具 Android Asset Studio 去產生你的 Android 登錄圖標,你會注意到 mipmap 的改變已經被 assets 文件夾產生的結構所反映出來。 你的 assets 應該變得像以前的登錄圖標的結構那樣。res/ mipmap-mdpi/iclauncher.png (48x48 pixels) mipmap-hdpi/iclauncher.png (72x72) mipmap-xhdpi/iclauncher.png (96x96) mipmap-xxhdpi/iclauncher.png (144x144) mipmap-xxxhdpi/iclauncher.png (192x192) 同時你要改變你的 AndroidManifest.xml 文件去使用 mipmap 做爲啓動圖標: android:icon="@mipmap/iclauncher"性能

OneAPM 是應用性能管理領域的新興領軍企業。Mobile Insight 能以用戶真實使用感覺爲度量標準,檢測每次崩潰的發生,協助監控移動應用性能。想閱讀更多技術文章,請訪問 OneAPM 官方博客     xml

相關文章
相關標籤/搜索