導航:首頁 > 操作系統 > 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對象初始化相關的資料

熱點內容
u盤里的cd驅動加密是什麼 瀏覽:413
遺傳演算法編碼長度 瀏覽:972
pe裝伺服器需要注意什麼 瀏覽:319
foreach計數php 瀏覽:525
php自連接 瀏覽:295
程序員被噴了怎麼辦 瀏覽:707
android消息數 瀏覽:261
為什麼在伺服器里輸不了指令 瀏覽:28
程序員那麼可愛前女友劇情介紹 瀏覽:101
centosjava環境變數配置 瀏覽:552
伺服器主板被鎖如何恢復 瀏覽:129
xpc語言編程軟體 瀏覽:820
光遇安卓怎麼解限制 瀏覽:300
元氣騎士老版源碼 瀏覽:103
助眠解壓音頻小姐姐口腔音 瀏覽:232
sql加密身份證號解碼 瀏覽:164
解壓玩法視頻 瀏覽:466
蘋果xls如何設置加密 瀏覽:208
湖北廣電dns的伺服器地址是多少 瀏覽:529
php獲取原始數據 瀏覽:250