singletask,singleInstance,singletop
<activity
android:launchMode="singleTop"
android:name="com.xwy.testtaskstack.Activity02"
android:label="@string/activity02" >
</activity>
singletask 啟動模式:
開啟一個activity B的時候,檢查任務棧裡面是否有這個activity B的例項存在,如果存在的話,
清空這個任務棧activity B 上面所有的activity,複用這個activity B
BrowserActivity 瀏覽器的activity,笨重的activity,底層用c寫的
webkit 瀏覽器的核心 解析html javascript
避免建立多個瀏覽器activity的例項,節約記憶體空間 cpu資源
singleInstance啟動模式:
開啟一個新的任務棧,任務棧只有一個activity例項存在
如果這個activity被開啟,把這個任務棧放在前面
如果開啟的別的activity,別的activity所在的任務棧會被放在前面
極端:在整個手機的作業系統中,只會有一個
singletop啟動模式:
在一些特殊的情況下,為了避免糟糕的使用者體驗
如果發現任務棧的棧頂已經存在這個activity,再去開啟activity的時候,就不去重新建立新的activity,而是
複用這個棧頂已經存在的activity
避免一個介面被重複的開啟
android:launchMode="singleTop"
android:name="com.xwy.testtaskstack.Activity02"
android:label="@string/activity02" >
</activity>
singletask 啟動模式:
開啟一個activity B的時候,檢查任務棧裡面是否有這個activity B的例項存在,如果存在的話,
清空這個任務棧activity B 上面所有的activity,複用這個activity B
BrowserActivity 瀏覽器的activity,笨重的activity,底層用c寫的
webkit 瀏覽器的核心 解析html javascript
避免建立多個瀏覽器activity的例項,節約記憶體空間 cpu資源
singleInstance啟動模式:
開啟一個新的任務棧,任務棧只有一個activity例項存在
如果這個activity被開啟,把這個任務棧放在前面
如果開啟的別的activity,別的activity所在的任務棧會被放在前面
極端:在整個手機的作業系統中,只會有一個
singletop啟動模式:
在一些特殊的情況下,為了避免糟糕的使用者體驗
如果發現任務棧的棧頂已經存在這個activity,再去開啟activity的時候,就不去重新建立新的activity,而是
複用這個棧頂已經存在的activity
避免一個介面被重複的開啟