Android系統(tǒng)默認(rèn)Home應(yīng)用程序(Launcher)的啟動(dòng)過程源代

Android系統(tǒng)默認(rèn)Home應(yīng)用程序(Launcher)的啟動(dòng)過程源代

ID:41006049

大?。?71.08 KB

頁數(shù):20頁

時(shí)間:2019-08-13

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

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

1、在前面一篇文章中,我們分析了Android系統(tǒng)在啟動(dòng)時(shí)安裝應(yīng)用程序的過程,這些應(yīng)用程序安裝好之后,還需要有一個(gè)Home應(yīng)用程序來負(fù)責(zé)把它們?cè)谧烂嫔险故境鰜?,在Android系統(tǒng)中,這個(gè)默認(rèn)的Home應(yīng)用程序就是Launcher了,本文將詳細(xì)分析Launcher應(yīng)用程序的啟動(dòng)過程。?????Android系統(tǒng)的Home應(yīng)用程序Launcher是由ActivityManagerService啟動(dòng)的,而ActivityManagerService和PackageManagerService一樣,都是在開機(jī)時(shí)由SystemServer組件啟動(dòng)的,

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

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

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

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

6、d.run?????這個(gè)函數(shù)定義在frameworks/base/services/java/com/android/server/SystemServer.java文件中,具體可以參考前面一篇文章Android應(yīng)用程序安裝過程源代碼分析的Step6。?????Step7.ActivityManagerService.main?????這個(gè)函數(shù)定義在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)?{

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

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

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。