有關資源訪問:
data/dalvik-cache:class.dex的存放目錄或odex
data/data:資料安裝的路徑
attr用來設定一些檢視的屬性
資源的訪問可以通過context或packagemanager的方法實現(id小於0x1000,0000是系統資源,大於0x7000,0000的是應用資源,
而更換系統主題也可以使用這招,判斷獲取的資源是01開頭,則返回07開關的;同樣可以替換assetmanager的路徑,通過修改
framework-res.apk實現,不建議使用)
程式包管理
:包含三塊,提供具體元件的intent,進行許可權檢查,提供安裝刪除的癌
應用程式的許可權有四種,預設為普通,危險會提示,簽名要一致,系統指系統簽名才可以;證書指meta-inf下預設檔案,可指定可多個,首個需要key值為2390個16進製制值來自證書;簽名乙個應用只能有乙個,可包含多個證書;shared-user指定共享使用者id對應的簽名和許可權
platform包含group標籤(應用群組)、permission標籤、assign-permission標籤(將許可權加入系統,用於群組)、library標籤(依賴檔案)、feature標籤(wifi camear location sensor bluetooth touchscreen); 提取dex過程包含,解析platform.xl、驗證簽名到儲存data/dalvik-cache中,最後提取service、receiver、activity、broadcast等;安裝過程包含檢查package.xml是否存在,然後讀取msettings.mpackages,決定是否建立package.xml,加入並生成新的package.list,由handlerparams下兩個installparams和moveparams完成。
原始碼剖析 Hashtable 原始碼剖析
hashtable同樣是基於雜湊表實現的,同樣每個元素都是key value對,其內部也是通過單鏈表解決衝突問題,容量不足 超過了閾值 時,同樣會自動增長。hashtable也是jdk1.0引入的類,是執行緒安全的,能用於多執行緒環境中。hashtable同樣實現了serializable介面,它支...
原始碼剖析之CopyOnWriteArrayList
copyonwritearraylist jdk1.5新增的執行緒安全的arraylist實現。b 使用場景 讀取頻繁,寫較少。理由 底層的安全性 本質上是依賴於執行緒讀取的資料副本來實現的。因此每次寫都是要複製底層陣列資料的,如果寫頻繁勢必會造成大量的效能消耗。如果寫非常頻繁,那麼可以根據實際情況...
開源中國Android原始碼剖析 2
還是從原始碼開始,在mainactivity主activity類中initview 的操作中初始化了類doubleclickexithelper,按鍵的重寫事件onkeydown 對按下返回鍵的操作,都返回到mdoubleclickexit.onkeydown中去處理 監聽返回 是否退出程式 ove...