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