Activity有四種啟動模式: 1. standard,預設的啟動模式,只要激活Activity,就會創建一個新的實例,並放入任務棧中,這樣任務棧中可能同時有一個Activity的多個實例。 2. singleTop,激活Activity時,如果棧頂是這個Activity,就不會創建新的實例;如果 ...
Activity有四種啟動模式:
1. standard,預設的啟動模式,只要激活Activity,就會創建一個新的實例,並放入任務棧中,這樣任務棧中可能同時有一個Activity的多個實例。
2. singleTop,激活Activity時,如果棧頂是這個Activity,就不會創建新的實例;如果棧頂不是這個Activity,則會創建新的實例。
3. singleTask,如果棧中存在Activity的實例,則將棧中該實例以上的其他Activity的實例移除,讓該Activity的實例在棧頂;如果棧中不存在實例,則創建新的實例。
4. singleInstance,多個應用共用Activity的一個實例,不論是否是同一個應用,只要是激活該Activity,都重用這個實例。
可以在AndroidManifest.xml中為Activity設置啟動模式,具體方法是設置android:launchMode屬性。
有的應用需要在兩個窗體來回跳轉,如A-->B,B-->A,......,這時就需要將A和B的啟動模式設置為singleTask,否則按返回鍵時,也將在A和B兩個窗體來回跳轉。