Android Activity啟動(dòng)模式之singleTask實(shí)例詳解
本文實(shí)例分析了Android Activity啟動(dòng)模式之singleTask。分享給大家供大家參考,具體如下:
前面的文章介紹了Android 活動(dòng)Activity的啟動(dòng)模式:standard 和singleTop 。本文繼續(xù)介紹Activity的下一個(gè)啟動(dòng)模式:singleTask。
singleTask:當(dāng)設(shè)置活動(dòng)的啟動(dòng)模式為singleTask時(shí),首先檢查返回棧中是否存在當(dāng)前活動(dòng),如果存在當(dāng)前活動(dòng)的實(shí)例,則直接使用當(dāng)前實(shí)例,并把當(dāng)前活動(dòng)之上的所有活動(dòng)pop出棧,即當(dāng)前活動(dòng)位于棧頂位置。
代碼實(shí)例如下:
(1)修改AndroidManifest.xml
修改活動(dòng)MainActivity的啟動(dòng)模式為singleTask,如下:
<activity android:name=".MainActivity" android:launchMode="singleTask" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
(2)修改MainActivity.java
為了測(cè)試效果,重寫onRestart方法:
@Override protected void onRestart() { super.onRestart(); Log.d("MainActivity", "onRestart"); }
(3)修改MyActivity1.java
為了測(cè)試效果,重寫onDestroy方法:
@Override protected void onDestroy() { super.onDestroy(); Log.d("MyActivity1", "onDestroy"); }
(3)重新發(fā)布,查看日志
發(fā)布程序,進(jìn)入MainActivity活動(dòng),點(diǎn)擊按鈕進(jìn)入MyActivity1活動(dòng),點(diǎn)擊按鈕回到主活動(dòng)MainActivity,日志顯示如下:
從圖中可以看出,當(dāng)在MyActivity1中點(diǎn)擊按鈕時(shí),返回棧中此時(shí)存在一個(gè)主活動(dòng)MainActivity的實(shí)例,并且在MyActivity1的下面,當(dāng)點(diǎn)擊時(shí),MyActivity1出棧,實(shí)例銷毀,調(diào)用onDestroy方法,而主活動(dòng)則調(diào)用onRestart方法。
如果再次在主活動(dòng)中點(diǎn)擊按鈕進(jìn)入MyActivity1活動(dòng),此時(shí)會(huì)創(chuàng)建MyActivity1實(shí)例,再次返回,見(jiàn)日志如下:
這正是Activity啟動(dòng)模式singleTask的特性。
更多關(guān)于Android Activity相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android編程之a(chǎn)ctivity操作技巧總結(jié)》
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
- Android Activity的4種啟動(dòng)模式圖文介紹
- Android中activity的啟動(dòng)模式
- 簡(jiǎn)單介紹Android中Activity的四種啟動(dòng)模式
- Android Activity啟動(dòng)模式全面解析
- Android Activity啟動(dòng)模式之singleTop實(shí)例詳解
- Android Activity啟動(dòng)模式之standard實(shí)例詳解
- Android入門之Activity四種啟動(dòng)模式(standard、singleTop、singleTask、singleInstance)
- Android 啟動(dòng)模式FLAG_ACTIVITY_CLEAR_TOP案例詳解
相關(guān)文章
Android點(diǎn)擊事件派發(fā)機(jī)制源碼分析
這篇文章主要為大家詳細(xì)介紹了Android點(diǎn)擊事件派發(fā)機(jī)制源碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08RecyclerView中使用CheckBox出現(xiàn)勾選混亂的解決方法
這篇文章主要為大家詳細(xì)介紹了RecyclerView中使用CheckBox出現(xiàn)勾選混亂的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12Android編寫文件瀏覽器簡(jiǎn)單實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了Android編寫文件瀏覽器簡(jiǎn)單實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11詳解Matisse與Glide--java.lang.NoSuchMethodError:com.bumptech.gl
這篇文章主要介紹了在使用Matisse與glide4.0.0以及4.0.0之后的版本過(guò)程中,碰到該問(wèn)題java.lang.NoSuchMethodError:com.bumptech.glide.RequestManager.load的解決方法2021-08-08android開(kāi)發(fā)教程之自定義屬性用法詳解
這篇文章主要介紹了android開(kāi)發(fā)中的自定義屬性用法詳解,需要的朋友可以參考下2014-04-04android自定義控件和自定義回調(diào)函數(shù)步驟示例
這篇文章主要介紹了android自定義控件步驟示例,包括為View類增加屬性、響應(yīng)用戶消息、自定義回調(diào)函數(shù)等方法2014-01-01Android中BroadcastReceiver實(shí)現(xiàn)短信關(guān)鍵字自動(dòng)回復(fù)功能
實(shí)現(xiàn)手機(jī)短信監(jiān)聽(tīng)的方式有兩種:一是通過(guò)ContentObserver觀察者實(shí)現(xiàn)監(jiān)聽(tīng),另一種就是通過(guò)廣播即BroadcastReceiver實(shí)現(xiàn)短信監(jiān)聽(tīng),文章中通過(guò)使用BroadcastReceiver實(shí)現(xiàn)有新短信的及時(shí)監(jiān)聽(tīng)及包含設(shè)定的關(guān)鍵字時(shí)自動(dòng)回復(fù)2018-06-06Android程序開(kāi)發(fā)之給背景圖加上移動(dòng)的手勢(shì)
這篇文章主要介紹了Android程序開(kāi)發(fā)之給背景圖加上移動(dòng)的手勢(shì) 的相關(guān)資料,需要的朋友可以參考下2016-03-03Android Http協(xié)議訪問(wèn)網(wǎng)絡(luò)實(shí)例(3種)
本篇文章主要介紹了Android Http協(xié)議訪問(wèn)網(wǎng)絡(luò)實(shí)例(3種),具有一定的參考價(jià)值,有興趣的可以了解一下2017-07-07Android Handler消息派發(fā)機(jī)制源碼分析
這篇文章主要為大家詳細(xì)分析了Android Handler消息派發(fā)機(jī)制源碼,感興趣的小伙伴們可以參考一下2016-07-07