Android 的四種啟動模式
activity是交由activity棧(任務(wù)棧)管理的
standard (標(biāo)準(zhǔn) 默認(rèn)啟動模式)
會在啟動時創(chuàng)建一個新實例入棧白嘁,所以每次打開都是一個新的界面。
singleTop (棧頂)
當(dāng)啟動activity時絮缅,有相同的activity在前臺與用戶交互,就復(fù)用這個activity耕魄,回調(diào) onNewIntent() 方法,避免棧頂?shù)腶ctivity被重復(fù)的創(chuàng)建吸奴;如果沒在棧頂,依然會創(chuàng)建新的實例加在棧頂则奥。
singleTask(棧內(nèi))
類似singleTop,也是避免重復(fù)創(chuàng)建逞度,唯一不同的是,當(dāng)啟動activity時档泽,有相同的activity在棧內(nèi),會復(fù)用此activity馆匿,回調(diào)onIntent(),并清空此activity之上所有activity渐北。
singleInstance(單例)
顧名思義,單一實例,整個手機操作系統(tǒng)里面只有一個實例存在恃锉。不同的應(yīng)用去打開這個activity 共享公用的同一個activity。
使用
在AndroidManifest.xml文件中修改
<application
android:launchMode = "singleTesk"
//或者是"standard"破托、"singleTop"、''singleInstance"