2011-9-27 21:12:34
前面我們在分析Activity啓動過程的時候,看到同一個應用程序的Activity一般都是在同一個進程中啓動,
事實上,Activity也可以像Service一樣在新的進程中啓動,這樣,一個應用程序就可以跨越好幾個進程了,
本文就分析一下在新的進程中啓動Activity的方法和過程。
在前面Android進程間通信(IPC)機制Binder簡要介紹和學習計劃一文中,
我們提到,在Android系統中,每一個應用程序都是由一些Activity和Service組成的,一般Service運行在獨立的進程中,
而Activity有可能運行在同一個進程中,也有可能運行在不同的進程中。
在前面Android系統在新進程中啓動自定義服務過程(startService)的原理分析一文中,我們已經介紹了使用Activity.startService接口來在新進程中啓動Service的過程,
然後又在前面Android應用程序內部啓動Activity過程(startActivity)的源代碼分析一文中介紹了使用Activity.startActivity接口來在原來的進程中啓動Activity的過程,
現在,我們就來看一下同一個Android應用程序如何在新的進程中啓動新的Activity。
有可能在同一個進程中 也有可能不在同一個進程中