導航:首頁 > 操作系統 > android對象初始化

android對象初始化

發布時間:2023-03-09 06:22:41

㈠ ActivityThread

我們學習 Android 過程中會發現,我們的文件都是 .java 文件,也就是說 Android 開發還是用的 Java 語言來編寫的。也正是這樣,所以你們來學 Android ,也會讓你們先學習一段時間 Java 。掌握好了 Java 的相關知識,學起 Android 來可謂是事半功倍。好了,你們是不是感覺有點扯遠了啊,不是說好講 ActivityThread 類的么,其實並不如此。

你們在剛開始從 Java 學習轉到 Android 學習的過程中,有一個重大的改變不知道你們又沒有發現。那就是 Java 中的 main() 方法,程序的入口不見了,取而代之的是 onCreate() 方法。你們沒有一點疑惑么?初學階段直接無腦接受是對的,但是作為一個工作幾年了的人來說,就有必要去深入研究一下了。明明 Android 也就是 Java 語言也編寫的,差別咋就這么大呢?

其實呢, Android 中還是有 main() 方法的,只是隱藏的比較深而已。今天,就由我 AIqingfeng 來帶你們一探究竟~!

我們先找到 ActivityThread 這個類,看一下注釋( 較少 ,值得一看):

翻譯一下就是:在 Application 進程中 管理執行主線程,調度和執行 活動和廣播 ,和活動管理請求的其它操作。

Android 上一個應用的入口,應該是 ActivityThread 類,和普通的Java 類一樣,入口是一個 main() 方法。

好了,現在我們解決了我們開始的疑惑後,再來深度學習一下這個類的一些知識吧。

ActivityThread 有幾個比較重要的成員變數,會在創建ActivityThread對象時初始化。

final ApplicationThread mAppThread = new ApplicationThread();

ApplicationThread繼承自ApplicationThreadNative, 而ApplicationThreadNative又繼承自Binder並實現了IApplicationThread介面。IApplicationThread繼承自IInterface。這是一個很明顯的binder結構,用於與Ams通信。IApplicationThread介面定義了對一個程序(Linux的進程)操作的介面。ApplicationThread通過binder與Ams通信,並將Ams的調用,通過下面的H類(也就是Hnalder)將消息發送到消息隊列,然後進行相應的操作,入activity的start, stop。

final H mH = new H();

這個 H 大家首先會想到什麼啊,不要開車哈。看到 H 想到了 Handler 。發現 H 是 ActivityThread 內部類,繼承自 Handler ,果然沒錯。所以大家遇到不清楚的,不要怕,大膽的猜測一下。 Handler 最重要的的也就是 handleMessage() 方法了。查看一下其方法:

ActivityThread.java

點進來咯。 ActivityThread.java

興趣是最好的老師。ActivityThread.java

先探索一下 Activity 創建這條路吧。最底層啦。Instrumentation.java

Native方法,C語言啦,活動創建之路結束了。Class.java

再來看看 Activity 中 onCreate() 方法執行之路吧。 Instrumentation.java

到了 Activity 了,哪裡我們自己 Activity 還遠么~! Activity.java

來,仔細瞅瞅~! Activity.java

閱讀全文

與android對象初始化相關的資料

熱點內容
編程序的樂趣是什麼 瀏覽:294
阿里用的什麼資料庫伺服器 瀏覽:337
玩劍網用哪個攻略app 瀏覽:76
javamysql資料庫操作 瀏覽:225
眉山參加少兒編程培訓 瀏覽:986
androidaes加密java 瀏覽:816
蜜字的app叫什麼 瀏覽:544
程序員配樂 瀏覽:453
做一個解壓屋 瀏覽:619
品牌衣服用什麼app 瀏覽:151
python3鏈接資料庫 瀏覽:55
教課書英語是什麼app 瀏覽:884
環液式壓縮機 瀏覽:479
android控制項事件 瀏覽:968
雲伺服器的鏡像選擇什麼 瀏覽:755
python如何設置cplex 瀏覽:10
linux的mv命令詳解 瀏覽:359
怎麼把安裝好的python放在桌面上 瀏覽:121
mysql退出當前命令 瀏覽:743
現在還有什麼手機好用的app 瀏覽:328