在android系統
中每乙個應用程式一般都會配置很多資源,以適配不同密度、大小和方向的螢幕,以及不同的國家、地區和語言等。這些資源在應用程式執行時自動根據裝置的當前配置資訊進行適配。也就是說,給定乙個的資源id,在不同裝置配置之下,查詢到的則可能是不同的資源。
查詢的過程對於應用程式來說是完全透明的,此過程主要是靠android資源管理框架來完成的,而android資源管理框架是由assetmanager和resources兩個類來實現的。 resources類
可以根據id來查詢資源,assetmanager類根據檔名來查詢資源。如果乙個資源id對應的是乙個檔案,那麼resources類先根據id來找到資源檔名稱,然後再將該檔名稱交給assetmanager類來開啟對應的檔案。
我們來看一下基本的流程:
可以看到resources是通過resources.arsc把resources的id轉化成資源檔案的名稱,然後交由assetmanager來載入。
resources.arsc這個檔案存放在apk包中,他們是由aapt工具在打包工程中生成的,它本身是乙個資源索引表,裡面維護著資源id、name、path或者value的對應關係,assetmanager通過這個索引表,通過資源id就可以找到這個資源對應的檔案或資料。
Android 如何查詢最佳匹配資源
android 如何查詢最佳匹配資源 當您請求要為其提供備用資源的資源時,android 會根據當前的裝置配置選擇要在執行時使用的備用資源。為演示 android 如何選擇備用資源,假設以下可繪製物件目錄分別包含相同影象的不同版本 drawable drawable en drawable fr r...
Android資源 布局資源
一 概述 1 android的圖形介面展示可以分為三層 activity window和view,而view又可以分為view 元件,如textview 和viewgroup 布局,如線性布局 2 布局是指元件在activity中的呈現方式,有兩種方式建立布局 a 利用xml檔案,activity通...
Android資源總結
在android開發過程中,經常會用到各種資源 字串 顏色 樣式 經常會被這些資源搞得暈頭轉向,容易混淆,尤其是幾種drawable型別的資源。下面對這些資源進行整理分類,讓它們的格式和功能一目了然。android的應用資源可以分為兩大類 可以通過r資源清單類訪問的資源,儲存在res目錄下。無法通過...