Android Activity啟動(dòng)模式之standard實(shí)例詳解
本文實(shí)例講述了Android Activity啟動(dòng)模式之standard。分享給大家供大家參考,具體如下:
Android的活動(dòng)是通過(guò)任務(wù)Task來(lái)進(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入門(mén)之Activity四種啟動(dòng)模式(standard、singleTop、singleTask、singleInstance)
- Android 啟動(dòng)模式FLAG_ACTIVITY_CLEAR_TOP案例詳解
相關(guān)文章
關(guān)于Android中WebView遠(yuǎn)程代碼執(zhí)行漏洞淺析
這篇文章主要給大家介紹了關(guān)于Android中WebView遠(yuǎn)程代碼執(zhí)行漏洞的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05
Android 實(shí)現(xiàn)當(dāng)下最流行的吸頂效果
本文主要介紹了Android 實(shí)現(xiàn)當(dāng)下最流行的吸頂效果的示例代碼。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-03-03
Android入門(mén)之TabHost與TabWidget實(shí)例解析
這篇文章主要介紹了Android入門(mén)之TabHost與TabWidget,對(duì)于Android初學(xué)者有一定的學(xué)習(xí)借鑒價(jià)值,需要的朋友可以參考下2014-08-08
Android開(kāi)發(fā)之計(jì)算器GridLayout布局實(shí)現(xiàn)方法示例
這篇文章主要介紹了Android開(kāi)發(fā)之計(jì)算器GridLayout布局實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了Android計(jì)算器界面布局及表達(dá)式計(jì)算相關(guān)操作技巧,需要的朋友可以參考下2019-03-03
android中使用Html渲染的方式實(shí)現(xiàn)必填項(xiàng)前面的*號(hào)示例
本篇文章主要介紹了android中使用Html渲染的方式實(shí)現(xiàn)必填項(xiàng)前面的*號(hào)示例,具有一定的參考價(jià)值,有興趣的可以了解一下2017-09-09
android組件SwipeRefreshLayout下拉小球式刷新效果
這篇文章主要為大家詳細(xì)介紹了android組件SwipeRefreshLayout下拉小球式刷新效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02
實(shí)例講解Android多線程應(yīng)用開(kāi)發(fā)中Handler的使用
這篇文章主要介紹了Android多線程應(yīng)用開(kāi)發(fā)中Handler的使用,Handle主要被用來(lái)更新UI和處理消息,需要的朋友可以參考下2016-01-01

