今天被問(wèn)到一個(gè)Activity之前切換的問(wèn)題,有4個(gè)Activity(A,B,C,D),從A切換到B,B切換到C,C切換到D,然后D上面有按鍵要切換到A或者C。 這個(gè)涉及到Activity laungchMode的知識(shí)點(diǎn),一個(gè)方法是把Activity設(shè)置為singleTask模式,另一個(gè)方法是在D切換到A或者C的時(shí)候設(shè)置intent flag: intent.addFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT)(如果activity在task存在,拿到最頂端,不會(huì)啟動(dòng)新的Activity)
singleTask:當(dāng)活動(dòng)的啟動(dòng)模式指定為 singleTask,每次啟動(dòng)該活動(dòng)時(shí)系統(tǒng)首先會(huì)在返回棧中檢查是否存在該活動(dòng)的實(shí)例,如果發(fā)現(xiàn)已經(jīng)存在則直接使用該實(shí)例,并把在這個(gè)活動(dòng)之上的所有活動(dòng)統(tǒng)統(tǒng)出棧,如果沒(méi)有發(fā)現(xiàn)就會(huì)創(chuàng)建一個(gè)新的活動(dòng)實(shí)例。 mark一下!
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注