Android 啟動模式FLAG_ACTIVITY_CLEAR_TOP案例詳解
更新時間:2021年08月27日 08:30:40 作者:天青色等Y雨
這篇文章主要介紹了Android 啟動模式FLAG_ACTIVITY_CLEAR_TOP案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
四種啟動模式
- standard: 只要被啟動就會創(chuàng)建一個新的
- singleTop: 棧頂復(fù)用(當(dāng)被啟動的Activity處于Task棧頂時,可以復(fù)用,直接調(diào)用onNewIntent方法)
- singleTask: 棧中復(fù)用(被啟動的Activity已經(jīng)處于棧中,會將上邊的Activity清除出棧,調(diào)用onNewIntent)
- singleInstance 全局單實例(應(yīng)用場景:地圖,Activity初始化需要大量資源)
Intent的標(biāo)志位FLAG
- Intent.FLAG_ACTIVITY_SINGLE_TOP 與加載模式singleTop功能相同
- Intent.FLAG_ACTIVITY_CLEAR_TOP 銷毀目標(biāo)Activity和它之上的所有Activity,重新創(chuàng)建目標(biāo)Activity
例: A,B,C,D四個Activity,啟動模式均為默認(rèn),依次啟動,在D中啟動B。
- 添加Intent.FLAG_ACTIVITY_CLEAR_TOP
效果: C,D清除出棧;B被finish掉,重新啟動,重走生命周期,不會走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回到前臺, 調(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的退出登錄功能:啟動LoginActivity,且棧中只有一個LoginActivity
Intent intent = new Intent(activity,LoginActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent);
到此這篇關(guān)于Android 啟動模式FLAG_ACTIVITY_CLEAR_TOP案例詳解的文章就介紹到這了,更多相關(guān)Android 啟動模式FLAG_ACTIVITY_CLEAR_TOP內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Ubuntu中為Android系統(tǒng)上實現(xiàn)內(nèi)置C可執(zhí)行程序測試Linux內(nèi)核驅(qū)動程序
本文主要介紹在Ubuntu上為Android系統(tǒng)內(nèi)置C可執(zhí)行程序測試Linux內(nèi)核驅(qū)動程序,這里對測試Linux 內(nèi)核驅(qū)動程序做了詳細介紹,并附有代碼示例,有興趣的小伙伴可以參考下2016-08-08Android入門之使用SQLite內(nèi)嵌式數(shù)據(jù)庫詳解
Android內(nèi)帶SQLite內(nèi)嵌式數(shù)據(jù)庫了。這對于我們存儲一些更復(fù)雜的結(jié)構(gòu)化數(shù)據(jù)帶來了極大的便利。本文就來和大家聊聊具體的使用方法,希望對大家有所幫助2022-12-12Android實現(xiàn)仿慕課網(wǎng)下拉加載動畫
這篇文章是我在做動畫的項目中整理出來的,在eoe看了篇帖子,然后仿慕課網(wǎng)做了一個下拉加載動畫。此功能實現(xiàn)方法是AnimationDrawable類進行 Animation-list中item的循環(huán)遍歷圖片,類似于flash里的幀幀動畫,需要的朋友可以參考下2015-07-07