Android系統(tǒng)默認Home應用程序(Launcher)的啟動過程源代

Android系統(tǒng)默認Home應用程序(Launcher)的啟動過程源代

ID:41006049

大小:271.08 KB

頁數:20頁

時間:2019-08-13

Android系統(tǒng)默認Home應用程序(Launcher)的啟動過程源代_第1頁
Android系統(tǒng)默認Home應用程序(Launcher)的啟動過程源代_第2頁
Android系統(tǒng)默認Home應用程序(Launcher)的啟動過程源代_第3頁
Android系統(tǒng)默認Home應用程序(Launcher)的啟動過程源代_第4頁
Android系統(tǒng)默認Home應用程序(Launcher)的啟動過程源代_第5頁
資源描述:

《Android系統(tǒng)默認Home應用程序(Launcher)的啟動過程源代》由會員上傳分享,免費在線閱讀,更多相關內容在工程資料-天天文庫。

1、在前面一篇文章中,我們分析了Android系統(tǒng)在啟動時安裝應用程序的過程,這些應用程序安裝好之后,還需要有一個Home應用程序來負責把它們在桌面上展示出來,在Android系統(tǒng)中,這個默認的Home應用程序就是Launcher了,本文將詳細分析Launcher應用程序的啟動過程。?????Android系統(tǒng)的Home應用程序Launcher是由ActivityManagerService啟動的,而ActivityManagerService和PackageManagerService一樣,都是在開機時由SystemServer組件啟動的,

2、SystemServer組件首先是啟動ePackageManagerServic,由它來負責安裝系統(tǒng)的應用程序,具體可以參考前面一篇文章Android應用程序安裝過程源代碼分析,系統(tǒng)中的應用程序安裝好了以后,SystemServer組件接下來就要通過ActivityManagerService來啟動Home應用程序Launcher了,Launcher在啟動的時候便會通過PackageManagerServic把系統(tǒng)中已經安裝好的應用程序以快捷圖標的形式展示在桌面上,這樣用戶就可以使用這些應用程序了,整個過程如下圖所示:點擊查看大圖????

3、?下面詳細分析每一個步驟。?????Step1.SystemServer.main?????這個函數定義在frameworks/base/services/java/com/android/server/SystemServer.java文件中,具體可以參考前面一篇文章Android應用程序安裝過程源代碼分析的Step1。?????Step2.?SystemServer.init1?????這個函數是一個JNI方法,實現在?frameworks/base/services/jni/com_android_server_SystemServ

4、er.cpp文件中,具體可以參考前面一篇文章Android應用程序安裝過程源代碼分析的Step2。?????Step3.?libsystem_server.system_init?????函數system_init實現在libsystem_server庫中,源代碼位于frameworks/base/cmds/system_server/library/system_init.cpp文件中,具體可以參考前面一篇文章Android應用程序安裝過程源代碼分析的Step3。?????Step4.?AndroidRuntime.callStatic

5、?????這個函數定義在frameworks/base/core/jni/AndroidRuntime.cpp文件中,具體可以參考前面一篇文章Android應用程序安裝過程源代碼分析的Step4。?????Step5.?SystemServer.init2?????這個函數定義在frameworks/base/services/java/com/android/server/SystemServer.java文件中,具體可以參考前面一篇文章Android應用程序安裝過程源代碼分析的Step5。?????Step6.?ServerThrea

6、d.run?????這個函數定義在frameworks/base/services/java/com/android/server/SystemServer.java文件中,具體可以參考前面一篇文章Android應用程序安裝過程源代碼分析的Step6。?????Step7.ActivityManagerService.main?????這個函數定義在frameworks/base/services/java/com/android/server/am/ActivityManagerServcie.java文件中:viewplain1.pu

7、blic?final?class?ActivityManagerService?extends?ActivityManagerNative??2.????????implements?Watchdog.Monitor,?BatteryStatsImpl.BatteryCallback?{??3.????......??4.??5.????public?static?final?Context?main(int?factoryTest)?{??6.????????AThread?thr?=?new?AThread();??7.???????

8、?thr.start();??8.??9.????????synchronized?(thr)?{??10.????????????while?(thr.mService?==?null)?{

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯系客服。
3. 下載前請仔細閱讀文檔內容,確認文檔內容符合您的需求后進行下載,若出現內容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯系客服處理。