一裙顽、Activity stack
Activity棧主要用于管理Activity的切換濒翻。當(dāng)使用Intent跳轉(zhuǎn)至某個(gè)目標(biāo)Activity,需要根據(jù)目標(biāo)Activity的加載模式來(lái)加載。
二窘拯、四種Activity加載模式:
standard:默認(rèn)烘苹,每次使用Intent跳轉(zhuǎn)到目標(biāo)Activity時(shí)都創(chuàng)建一個(gè)新的實(shí)例躲株。壞處是每次進(jìn)入都要?jiǎng)?chuàng)建新的實(shí)例,執(zhí)行OnCreate方法镣衡。
singleTop:如果要跳轉(zhuǎn)的目標(biāo)Activity正好在task的頂部(說(shuō)明當(dāng)前肯定不在目標(biāo)task里霜定,例如我在微信首頁(yè),然后想使用Intent跳轉(zhuǎn)到InnoXYZ應(yīng)用的首頁(yè)廊鸥,那么加入InnoXYZ首頁(yè)正好在InnoXYZ的task頂部望浩,就直接跳轉(zhuǎn)而不會(huì)創(chuàng)建實(shí)例),那么就直接跳轉(zhuǎn)過(guò)去而不會(huì)創(chuàng)建新的惰说。(例子磨德,當(dāng)前在Home Screen, 收到一條微信首頁(yè)的推送吆视,而此時(shí)task棧里的微信task里的Activity棧里的最頂部正好就是微信首頁(yè)典挑,那么點(diǎn)擊推送就直接進(jìn)入該實(shí)例而不會(huì)創(chuàng)建新的實(shí)例)
singleTask:會(huì)在一個(gè)新的task中產(chǎn)生這個(gè)實(shí)例,以后每次調(diào)用都會(huì)使用這個(gè)啦吧,不會(huì)去產(chǎn)生新的實(shí)例了您觉。
singleInstance:是其所在棧的唯一activity,它會(huì)每次都被重用授滓。
三琳水、Task的概念