Android Activity啟動(dòng)模式之standard實(shí)例詳解
本文實(shí)例講述了Android Activity啟動(dòng)模式之standard。分享給大家供大家參考,具體如下:
Android的活動(dòng)是通過任務(wù)Task來進(jìn)行管理的,一個(gè)任務(wù)就是一組放在棧里的活動(dòng)的集合,即所謂的返回棧(Back Stack)。棧具有先進(jìn)后出、后進(jìn)先出的特性。當(dāng)啟動(dòng)一個(gè)活動(dòng)時(shí),活動(dòng)會(huì)在返回棧中入棧,處于棧頂位置,當(dāng)按下返回鍵或者調(diào)用finish方法會(huì)銷毀一個(gè)活動(dòng),此時(shí)棧頂活動(dòng)會(huì)出棧,屆時(shí)又會(huì)有新的活動(dòng)處于棧頂位置。
在Android中,活動(dòng)的啟動(dòng)模式有四種,根據(jù)不同的需求可以為活動(dòng)設(shè)置不同的啟動(dòng)模式。在這里介紹standard模式。
standard模式是活動(dòng)啟動(dòng)的默認(rèn)模式,當(dāng)為活動(dòng)設(shè)置了此模式,每次啟動(dòng)都會(huì)創(chuàng)建一個(gè)新的實(shí)例,而不在乎該活動(dòng)是否已經(jīng)在返回棧中存在。
(1)新建Android項(xiàng)目TestLaunchMode
創(chuàng)建完成后,修改activity_main.xml如下
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Button android:id="@+id/button1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="MainActivity Button" /> </LinearLayout>
(2)修改onCreate方法
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //打印當(dāng)前對(duì)象 Log.d("MainActivity", this.toString()); //去掉title requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_main); //獲取button1 Button button1 = (Button) findViewById(R.id.button1); //添加點(diǎn)擊事件 button1.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { //為了測(cè)試standard啟動(dòng)模式,當(dāng)點(diǎn)擊按鈕時(shí),啟動(dòng)MainActivity活動(dòng) Intent intent = new Intent(MainActivity.this,MainActivity.class); //啟動(dòng)活動(dòng) startActivity(intent); } }); }
在該方法中,打印了當(dāng)前活動(dòng)對(duì)象,同時(shí)為按鈕添加點(diǎn)擊事件:?jiǎn)?dòng)本身活動(dòng)。
(3)查看日志
發(fā)布android項(xiàng)目,為了查看效果,連續(xù)點(diǎn)擊按鈕3次,看到如下內(nèi)容:
從圖中可以看出,總共打印了4次(活動(dòng)啟動(dòng)+3次點(diǎn)擊按鈕),每次的活動(dòng)實(shí)例都不用,從而驗(yàn)證了活動(dòng)啟動(dòng)模式standard。
此時(shí)棧中有4個(gè)MainActivity實(shí)例,連續(xù)按Back鍵4次才能退出應(yīng)用程序。
更多關(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)模式之singleTask實(shí)例詳解
- Android Activity啟動(dòng)模式之singleTop實(shí)例詳解
- Android入門之Activity四種啟動(dòng)模式(standard、singleTop、singleTask、singleInstance)
- Android 啟動(dòng)模式FLAG_ACTIVITY_CLEAR_TOP案例詳解
相關(guān)文章
Android Studio開發(fā)之 JNI 篇的簡(jiǎn)單示例
本篇文章主要介紹了Android Studio開發(fā)之 JNI 篇的簡(jiǎn)單示例,它提供了若干的API實(shí)現(xiàn)了Java和其他語(yǔ)言的通信,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10Android開發(fā)使用Activity嵌套多個(gè)Fragment實(shí)現(xiàn)橫豎屏切換功能的方法
這篇文章主要介紹了Android開發(fā)使用Activity嵌套多個(gè)Fragment實(shí)現(xiàn)橫豎屏切換功能的方法,結(jié)合實(shí)例形式分析了Android使用Activity嵌套多個(gè)Fragment進(jìn)行橫豎屏切換的原理與具體操作技巧,需要的朋友可以參考下2017-11-11Android 8.0 中如何實(shí)現(xiàn)視頻通話的畫中畫模式的示例
本篇文章介紹了Android 8.0 中如何實(shí)現(xiàn)視頻通話的畫中畫模式的示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11Android基于OpenCV實(shí)現(xiàn)圖像脫色
脫色是將彩色圖像轉(zhuǎn)換為灰度圖像的過程。同時(shí),它也是數(shù)字打印,風(fēng)格化的黑白照片渲染以及許多單通道圖像處理應(yīng)用程序中的基本工具。本文講述基于OpenCV實(shí)現(xiàn)圖像脫色的步驟2021-06-06Android通過JNI實(shí)現(xiàn)守護(hù)進(jìn)程
這篇文章主要為大家詳細(xì)介紹了Android通過JNI實(shí)現(xiàn)守護(hù)進(jìn)程的相關(guān)資料,感興趣的小伙伴們可以參考一下2016-09-09Android實(shí)現(xiàn)文件上傳和下載倒計(jì)時(shí)功能的圓形進(jìn)度條
這篇文章主要介紹了Android實(shí)現(xiàn)文件上傳和下載倒計(jì)時(shí)功能的圓形進(jìn)度條,需要的朋友可以參考下2017-09-09Android實(shí)現(xiàn)文件解壓帶進(jìn)度條功能
本文通過實(shí)例代碼給大家介紹了android實(shí)現(xiàn)文件解壓帶進(jìn)度條效果,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2017-08-08Android網(wǎng)絡(luò)編程之UDP通信模型實(shí)例
這篇文章主要介紹了Android網(wǎng)絡(luò)編程之UDP通信模型實(shí)例,本文給出了服務(wù)端代碼和客戶端代碼,需要的朋友可以參考下2014-10-10