掌握活動(dòng)的生命周期對(duì)任何Android開(kāi)發(fā)者來(lái)說(shuō)都非常重要,Android中的活動(dòng)是可以層疊的,我們每啟動(dòng)一個(gè)洗的活動(dòng),就會(huì)覆蓋在原活動(dòng)之上,然后點(diǎn)擊Back鍵會(huì)銷(xiāo)毀最上面的活動(dòng),下面的一個(gè)活動(dòng)就會(huì)重新顯示出來(lái)。
其實(shí)Android是使用任務(wù)(Task)來(lái)管理活動(dòng)的,一個(gè)任務(wù)就是一組存放在棧里的活動(dòng)的集合,這個(gè)棧也被稱(chēng)作返回棧(Back Task),棧是一種后進(jìn)先出的數(shù)據(jù)結(jié)構(gòu),在默認(rèn)情況下,每當(dāng)我們啟動(dòng)了一個(gè)新的活動(dòng),他會(huì)在返回棧中入棧,并處于棧頂位置,而每當(dāng)我們按下Back鍵或者調(diào)用finish()方法去銷(xiāo)毀一個(gè)活動(dòng)時(shí),處于棧頂?shù)幕顒?dòng)就會(huì)出棧,這時(shí)前一個(gè)入棧的活動(dòng)就會(huì)重新處于棧頂?shù)奈恢?,系統(tǒng)總是會(huì)顯示處于棧頂?shù)幕顒?dòng)給用戶(hù)
通過(guò)示例圖看返回棧是如何管理活動(dòng)入棧出棧操作的:
活動(dòng)狀態(tài)