一、啟動(dòng)模式
Activity一共有四種啟動(dòng)模式,分別是:standard霸妹、singleTop、singleTask知押、singleInstance
1.standard 默認(rèn)模式
這種模式是Activity默認(rèn)的啟動(dòng)模式叹螟,當(dāng)我們不在清單文件中通過(guò)android:launchMode屬性設(shè)置啟動(dòng)模式或設(shè)置為standard的時(shí)候,那么系統(tǒng)會(huì)默認(rèn)使用該模式啟動(dòng)Activity台盯。這種啟動(dòng)模式每次都會(huì)創(chuàng)建一個(gè)新的實(shí)例罢绽,不管這個(gè)實(shí)例是否存在,這種啟動(dòng)模式下静盅,onCreate()良价、onStart()、onResume()蒿叠、都會(huì)調(diào)用棚壁。
2.singleTop 棧頂復(fù)用模式
如果棧頂有這個(gè)Activity的實(shí)例,那么系統(tǒng)就不會(huì)創(chuàng)建一個(gè)新的實(shí)例栈虚,這個(gè)時(shí)候會(huì)調(diào)用onNewIntent方法袖外。若棧頂不存在該Activity的實(shí)例,則他和standard模式一樣魂务。棧頂?shù)臅r(shí)候曼验,onCreate()、onStart()都不會(huì)調(diào)用粘姜,而只會(huì)調(diào)用onNewIntent鬓照、onResume
3.singleTask 棧中單例模式
如果棧中有這個(gè)Activity的實(shí)例,那么將會(huì)復(fù)用它孤紧,不管它是否在棧頂豺裆,復(fù)用的時(shí),會(huì)將這個(gè)Activity上面的Activity全部出棧
4.singleInstance 全局單例模式
它擁有singleTask所有的特性号显,和它唯一的區(qū)別就是Activity會(huì)單獨(dú)使用一個(gè)棧臭猜,具有全局唯一性,而且棧中只有一個(gè)實(shí)例