Activity启动模式 launchMode
2019獨角獸企業重金招聘Python工程師標準>>>
轉載
http://blog.csdn.net/zhangjg_blog/article/details/10923643singleTop, Activity可能會執行OnNewIntent
singleTask Activity上面的所有Activity將以合適的方式自動銷毀, 執行OnNewIntent()
在啟動一個singleTask的Activity實例時,如果系統中已經存在這樣一個實例,就會將這個實例調度到任務棧的棧頂,并清除它當前所在任務中位于它上面的所有的activity。
以singleInstance模式啟動的Activity在整個系統中是單例的,如果在啟動這樣的Activiyt時,已經存在了一個實例,那么會把它所在的任務調度到前臺,重用這個實例
以singleInstance模式啟動的Activity具有獨占性,即它會獨自占用一個任務,被他開啟的任何activity都會運行在其他任務中
被singleInstance模式的Activity A在開啟另一activity B時,能夠開啟一個新任務,但是是不是真的開啟新任務,還要受其他條件的限制,這個條件是:當前系統中是不是已經有了一個activity B的taskAffinity屬性指定的任務。
singleTop適合接收通知啟動的內容顯示頁面。從外界可能多次跳轉到一個界面
singleTask適合作為程序入口點
singleInstance適合需要與程序分離開的頁面。singleInstance不要用于中間頁面,如果用于中間頁面,跳轉會有問題,比如:A -> B (singleInstance) -> C,完全退出后,在此啟動,首先打開的是B。
轉載于:https://my.oschina.net/cxy46957/blog/530258
總結
以上是生活随笔為你收集整理的Activity启动模式 launchMode的全部內容,希望文章能夠幫你解決所遇到的問題。