Activity启动模式完全解读-更新中
在實(shí)際的項(xiàng)目中我們應(yīng)當(dāng)根據(jù)特定的需求為每個(gè)Activity指定恰當(dāng)?shù)膯?dòng)模式。
啟動(dòng)模式分為四種,分別是standard、singleTop、singleTask、singleInstance. 可以在AndroidManifest.xml文件中通過(guò)給Activity標(biāo)簽指定android:launchMode屬性來(lái)選擇啟動(dòng)模式。
standard
說(shuō)明
standard是Activity默認(rèn)的啟動(dòng)模式,在不進(jìn)行顯示指定的情況下,所有活動(dòng)都會(huì)自動(dòng)使用standard模式。
我們知道Android是使用返回棧來(lái)管理活動(dòng)的,在standard默認(rèn)模式下,每當(dāng)啟動(dòng)一個(gè)新的活動(dòng),它就會(huì)在返回棧中入棧,并處于棧頂?shù)奈恢谩?/p>
對(duì)于使用standard模式的活動(dòng),系統(tǒng)不會(huì)在乎這個(gè)活動(dòng)是否已經(jīng)在返回棧中存在,每次啟動(dòng)都會(huì)創(chuàng)建該活動(dòng)的一個(gè)新的實(shí)例。
Code演示
singleTop
說(shuō)明
當(dāng)活動(dòng)的啟動(dòng)模式指定為singleTop,在啟動(dòng)活動(dòng)時(shí),如果發(fā)現(xiàn)返回棧的棧頂已經(jīng)是該活動(dòng),則認(rèn)為可以直接使用它,不會(huì)創(chuàng)建新的活動(dòng)實(shí)例。
Code演示
singleTask
說(shuō)明
當(dāng)活動(dòng)的啟動(dòng)模式為singleTask模式的時(shí)候,每次啟動(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)出棧,如果沒有發(fā)現(xiàn)則創(chuàng)建一個(gè)新的活動(dòng)實(shí)例。
Code演示
singleInstance
說(shuō)明
指定為singleInstance模式的活動(dòng)會(huì)啟用一個(gè)新的返回棧來(lái)管理這個(gè)活動(dòng)
Code演示
總結(jié)
以上是生活随笔為你收集整理的Activity启动模式完全解读-更新中的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Android系统服务
- 下一篇: An error has occurre