1. 程式人生 > >Android中的Activity四種啟動模式(launchMode)(面試必問)

Android中的Activity四種啟動模式(launchMode)(面試必問)

android:launchMode
standard
預設標準的啟動模式,每次startActivity(Intent intent)請求都建立一個新的activity實 例,適用於大多數場景。

singleTop
單一頂部,如果要啟動的activity在任務棧的頂部已經存在,不會建立新的例項,而是呼叫 onNewIntent(Intent intent)方法。比如:瀏覽器書籤,避免頂部的activity重複建立,解 決使用者體驗問題。

singleTask
單一任務,activity只會在任務棧裡面存在一個例項,如果要啟用的activity在任務棧中已 經存在,就不會建立新的activity例項,而是複用這個已經存在的activity,呼叫 onNewIntent(Intent intent)方法,並且清空當前activity任務棧上面所有的activity。 比如:瀏覽器activity,整個任務棧裡面只有一個例項,節約記憶體和CPU。 activity還是執行在當前應用程式的任務棧裡面,不會建立新的任務棧。

singleInstance 單例模式
單一例項,整個Android系統只有一個例項存在,不同的應用開啟這個activity共享公共的同 一個actiivty,它單獨執行在一個獨立的任務棧裡面,任務棧裡面只有它一個例項存在。
比如:呼叫來電介面InCallScreen