Android 啟動(dòng)模式FLAG_ACTIVITY_CLEAR_TOP案例詳解
四種啟動(dòng)模式
- standard: 只要被啟動(dòng)就會(huì)創(chuàng)建一個(gè)新的
- singleTop: 棧頂復(fù)用(當(dāng)被啟動(dòng)的Activity處于Task棧頂時(shí),可以復(fù)用,直接調(diào)用onNewIntent方法)
- singleTask: 棧中復(fù)用(被啟動(dòng)的Activity已經(jīng)處于棧中,會(huì)將上邊的Activity清除出棧,調(diào)用onNewIntent)
- singleInstance 全局單實(shí)例(應(yīng)用場(chǎng)景:地圖,Activity初始化需要大量資源)
Intent的標(biāo)志位FLAG
- Intent.FLAG_ACTIVITY_SINGLE_TOP 與加載模式singleTop功能相同
- Intent.FLAG_ACTIVITY_CLEAR_TOP 銷(xiāo)毀目標(biāo)Activity和它之上的所有Activity,重新創(chuàng)建目標(biāo)Activity
例: A,B,C,D四個(gè)Activity,啟動(dòng)模式均為默認(rèn),依次啟動(dòng),在D中啟動(dòng)B。
- 添加Intent.FLAG_ACTIVITY_CLEAR_TOP
效果: C,D清除出棧;B被finish掉,重新啟動(dòng),重走生命周期,不會(huì)走onNewIntent()方法
Intent intent = new Intent(this,B.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); d.startActivity(intent);
- 添加Intent.FLAG_ACTIVITY_CLEAR_TOP和Intent.FLAG_ACTIVITY_SINGLE_TOP
效果:C,D清除出棧,B調(diào)用onNewIntent()方法
Intent intent = new Intent(this,B.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP); d.startActivity(intent);
- 添加Intent.FLAG_ACTIVITY_CLEAR_TOP和Intent.FLAG_ACTIVITY_REORDER_TO_FRONT
效果:C,D清除出棧,B回到前臺(tái), 調(diào)用onResume()方法
Intent intent = new Intent(this,B.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); d.startActivity(intent);
- App的退出登錄功能:?jiǎn)?dòng)LoginActivity,且棧中只有一個(gè)LoginActivity
Intent intent = new Intent(activity,LoginActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent);
到此這篇關(guān)于A(yíng)ndroid 啟動(dòng)模式FLAG_ACTIVITY_CLEAR_TOP案例詳解的文章就介紹到這了,更多相關(guān)Android 啟動(dòng)模式FLAG_ACTIVITY_CLEAR_TOP內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Android賬號(hào)注冊(cè)實(shí)現(xiàn)點(diǎn)擊獲取驗(yàn)證碼倒計(jì)時(shí)效果
這篇文章主要為大家詳細(xì)介紹了Android賬號(hào)注冊(cè)過(guò)程中實(shí)現(xiàn)點(diǎn)擊獲取驗(yàn)證碼倒計(jì)時(shí)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-05-05
Android實(shí)現(xiàn)獲取未接來(lái)電和未讀短信數(shù)量的方法
這篇文章主要介紹了Android實(shí)現(xiàn)獲取未接來(lái)電和未讀短信數(shù)量的方法,是Android程序開(kāi)發(fā)中非常常見(jiàn)的重要功能,需要的朋友可以參考下2014-08-08
item高度不同時(shí)Recyclerview獲取滑動(dòng)距離的方法
這篇文章主要介紹了item高度不同時(shí)Recyclerview獲取滑動(dòng)距離的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-11-11
Android自定義View實(shí)現(xiàn)水波紋效果
這篇文章主要為大家詳細(xì)介紹了Android自定義View實(shí)現(xiàn)水波紋效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08
Android中FoldingLayout折疊布局的用法及實(shí)戰(zhàn)全攻略
這篇文章主要介紹了Android中FoldingLayout折疊布局的用法及實(shí)例,通過(guò)FoldingLayout我們可以制作出炫酷的菜單折疊效果,文中的例子講解得非常詳細(xì),需要的朋友可以參考下2016-02-02
說(shuō)說(shuō)在A(yíng)ndroid如何使用服務(wù)(Service)的方法
這篇文章主要介紹了說(shuō)說(shuō)在A(yíng)ndroid如何使用服務(wù)(Service)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-06-06
android studio節(jié)省C盤(pán)空間的配置方法
這篇文章主要介紹了android studio節(jié)省C盤(pán)空間的配置方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-07-07
Android 實(shí)現(xiàn)長(zhǎng)按彈出PopupMenu 菜單欄
這篇文章主要介紹了Android 實(shí)現(xiàn)長(zhǎng)按彈出PopupMenu 菜單欄,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12
Android實(shí)現(xiàn)app分享文件到微信功能
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)app分享文件到微信功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-05-05

