ActivityThread是什么應用進程
ActivityThread是應用進程的初始化類,它的main()方法就是應用的入口方法,也就是說應用進程被創建后會調用ActivityThread.main()方法,關于這一點可以參考《Android App進程創建過程分析》中客戶端發送創建進程和服務端響應創建進程內容。ActivityThread也是我們常說的主線程,但是這種描述不太準確,ActivityThread不是線程,只不過它是在運行在主線程(main)的main()方法中創建的對象,自然它也是運行在主線程中。只能說ActivityThread是主線程的一部分,但不并能代表主線程。我們從下面的profiler cpu usage圖也能看出,ActivityThread.main()方法是在主線程(main)中調用的。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-N5zsEBak-1634819360670)(./thread_of_activity_thread.png)]
進程(Process)是計算機中的什么?
進程(Process)是計算機中的程序關于某數據集合上的一次運行活動,是系統進行資源分配的基本單位,是操作系統結構的基礎。在早期面向進程設計的計算機結構中,進程是程序的基本執行實體;在當代面向線程設計的計算機結構中,進程是線程的容器。程序是指令、數據及其組織形式的描述,進程是程序的實體。