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