Android之Activity的四种启动模式
當應用運行起來后就會開啟一條線程,線程中會運行一個任務棧,當Activity實例創建后就會放入任務棧中。可以根據實際的需求為Activity設置對應的啟動模式,從而可以避免創建大量重復的Activity等問題。
設置Activity的啟動模式,只需要在AndroidManifest.xml里對應的<activity>標簽設置android:launchMode屬性,例如:
<activity android:name=".Test" android:launchMode="standard" /> ??
1.?Standard模式(默認)
我們平時直接創建的Activity都是這種模式的Activity,這種模式的Activity的特點是:只要你創建了Activity實例,一旦激活該Activity,則會向任務棧中加入新創建的實例,退出Activity則會在任務棧中銷毀該實例。
?
2.?SingleTop模式
這種模式會考慮當前要激活的Activity實例在任務棧中是否正處于棧頂,如果處于棧頂則無需重新創建新的實例,會重用已存在的實例,否則會在任務棧中創建新的實例。
?
3.?SingleTask模式
如果任務棧中存在該模式的Activity實例,則把棧中該實例以上的Activity實例全部移除,調用該實例的newInstance()方法重用該Activity,使該實例處於棧頂位置,否則就重新創建一個新的Activity實例。
?
4.?SingleInstance模式
當該模式Activity實例在任務棧中創建后,只要該實例還在任務棧中,即只要激活的是該類型的Activity,都會通過調用實例的newInstance()方法重用該Activity,此時使用的都是同一個Activity實例,它都會處于任務棧的棧頂。此模式一般用于加載較慢的,比較耗性能且不需要每次都重新創建的Activity。
?
轉載于:https://www.cnblogs.com/guop/p/5015358.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的Android之Activity的四种启动模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【高级数据结构】[SPOJ QTREE]
- 下一篇: 《第一行代码》学习笔记18-广播接收器B