設置一個launchMode
<activity
android:name=".SingleTaskActivity"
android:label="singleTask launchMode"
android:launchMode="singleTask">
1默認爲standard
這種模式下,當Intent發送的時候,Activity總是被創建一個新的出來單獨工作
2 singleTop
這種模式下,也是創建一個,但是當唯一的區別是如果在棧頂已經有一個相同類型的Activity實例,Intent不會再創建一個Activity,而是通過onNewIntent()被髮送到現有的Activity。
3 singleTask
這種模式下,會先查找棧中是否已經實例,如果已經實例了,intent將被通過onNewIntent()發送,將對象重新放在棧頂。如果沒有,則會創建一個新的Activity並置放在合適的任務中。(任務棧中只存在一個實例)
4 singleInstance
這種模式同singlInstance差不多,系統中只允許一個Activity的實例存在。區別在於持有這個Activity的任務中只能有一個Activity:即這個單例本身
具體這個沒搞懂,不過使用率很低
(三種方式並沒有實踐過,以後用到會回來補充)