原创 [Android]從Launcher開始啓動App流程源碼分析

從Launcher開始啓動App流程源碼分析\ 來自天天博客:http://www.cnblogs.com/tiantianbyconan/p/5017056.html com.android.launcher.Launcher就是我們的

原创 超實用的Java數組技巧攻略

本文分享了關於Java數組最頂級的11大方法,幫助你解決工作流程問題,無論是運用在團隊環境或是在私人項目中,你都可以直接拿來用!  0.  聲明一個數組(Declare an array)  [js] view plain

原创 pms包管理服務分析-證書校驗流程

Apk簽名後,apk文件目錄下生成了一個名爲META-INF目錄,裏面有三個文件,分別是MANIFEST.MF, CERT.SF和CERT.RSA; 其中MANIFEST.MF中記錄的是apk中所有文件的摘要值;CERT.SF中記錄的

原创 pms包管理服務分析-PackageManagerService構造函數和包掃描過程

上一章pms初步理解中提到SystemServer啓動pms只創建了一個pms實例,那麼重點在pms的實例化過程究竟做了什麼事情,下面來研究下pms的構造方法。 PackageManagerService構造方法 ①: [/framew

原创 Android 4.x Gallery2分析

Gallery2介紹 Gallery2主要功能是實現Android系統本地存儲以及網絡存儲中的媒體(圖片&視頻)資源的瀏覽,媒體信息,顯示和更多操作(刪除、分享、選擇、縮放、編輯等)。 Gallery2界面的生成和普通的應用程序不同,普

原创 pms包管理服務分析-權限管理和鑑權過程

Android系統權限是建立在框架層上的一套權限解析分配和鑑權流程,其主要數據結構和校驗流程主要在pms(包管理服務)中實現。 簡單理解系統權限機制主要分爲權限解析、權限分配、鑑權這三個主要內容。 Sdk版本大於等於23後,新增了動態權限

原创 Java反射基礎用法

基本用法(類調用): //獲取系統屬性值反射方法 public String getSystemProperty(String key) { String v = ""; try { Class<?> c = Class.forN

原创 pms包管理服務分析-apk卸載流程

apk的卸載流程相對比較簡單,總結大方向就兩步,一個是刪除安裝的文件和數據,另外一個是清除內存信息。另外要注意的是在多用戶模式下,apk的卸載刪除則不是單純的刪除文件。 下面來看看apk的卸載流程。 [/frameworks/base/

原创 Android Wake Lock 機制

Android爲了確保應用程序中關鍵代碼的正確執行,提供了WakeLock的API,使得應用程序有權限通過代碼阻止AP進入休眠狀態。 Wake Lock是一種鎖的機制, 只要有人拿着這個鎖,系統就無法進入休眠,可以被用戶態程序和內核獲得.

原创 [轉]Android Context應用上下文詳解

Context類 ,說它熟悉,是應爲我們在開發中時刻的在與它打交道,例如:Service、BroadcastReceiver、Activity等都會利用到Context的相關方法 ; 說它陌生,完全是因爲我們真正的不懂Context的原

原创 pms包管理服務分析-初步理解

初步理解 Android系統啓動過程中,會啓動一個包管理服務PackageManagerService(pms),這個服務主要負責掃描系統中指定目錄,找出裏面以apk結尾的文件,通過對這些文件進行解析,得到應用程序的所有信息並完成應用

原创 pms包管理服務分析-PackageParser.Pacakge, Settings, PackageSettings的結構和關係

Settings提供可持續化的包信息管理,PackageSetting是一個存儲單元,表示一個pkg信息。 pp.Package可以理解pkg信息在內存中的一個實時信息,關機後便消失,重啓後重新生成,所以pp.Package中的信息一直保