2012-06-03 39 views
2

我對Android的事件驅動編程範例很困惑嗎?誰負責調用生命週期處理程序(onCreate(),onResume()等)?它是Android操作系統嗎?還是在應用程序中運行的Dalvik VM?誰調用Android生命週期處理程序?

任何人都可以回答我的問題或指導我一些相關資源?非常感謝你。

+1

如果它是操作系統或虛擬機,它會有所作爲嗎?這絕對不是你,那是重點。無論如何,我的賭注是在操作系統上。 – Vincent

+2

它是接收消息「調用」方法的應用程序的主線程。但是如果你想知道「誰調用」或「誰觸發器」? – BlueWanderer

+0

謝謝。我可以知道主線程收到什麼消息嗎?我不太瞭解「invoke」和「trigger」之間的區別。只是想知道誰是像「onCreate()」那樣的處理程序。我想這是Dalvik虛擬機。 – andrew

回答

2

在系統啓動的,這個過程被稱爲受精卵被創建。該進程等待傳入的應用程序啓動請求。一旦它收到一個請求,它會根據Zygote虛擬機本身分配一個虛擬機實例。因此,每個應用程序都是擁有自己的沙盒虛擬機的自己的進程。
這是啓動onCreate()(和其他相關方法),隨後啓動應用程序的VM進程。

來源:我對該主題的研究。

+0

謝謝。我也讀過Zygote。所以我傾向於認爲它是調用一個活動的生命週期處理程序的Dalvik虛擬機。 – andrew

+1

是的,沒錯。 Zygote是實例化每個其他進程的虛擬機的父進程。 – Urban

+0

非常感謝! – andrew

0

的活動週期是方法的集合的OS calls throughout the lifecycle of an activity.

去這個鏈接 Activity Lifecycle