Android Activity啟動模式之standard實例詳解
本文實例講述了Android Activity啟動模式之standard。分享給大家供大家參考,具體如下:
Android的活動是通過任務Task來進行管理的,一個任務就是一組放在棧里的活動的集合,即所謂的返回棧(Back Stack)。棧具有先進后出、后進先出的特性。當啟動一個活動時,活動會在返回棧中入棧,處于棧頂位置,當按下返回鍵或者調(diào)用finish方法會銷毀一個活動,此時棧頂活動會出棧,屆時又會有新的活動處于棧頂位置。
在Android中,活動的啟動模式有四種,根據(jù)不同的需求可以為活動設置不同的啟動模式。在這里介紹standard模式。
standard模式是活動啟動的默認模式,當為活動設置了此模式,每次啟動都會創(chuàng)建一個新的實例,而不在乎該活動是否已經(jīng)在返回棧中存在。
(1)新建Android項目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);
//打印當前對象
Log.d("MainActivity", this.toString());
//去掉title
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
//獲取button1
Button button1 = (Button) findViewById(R.id.button1);
//添加點擊事件
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
//為了測試standard啟動模式,當點擊按鈕時,啟動MainActivity活動
Intent intent = new Intent(MainActivity.this,MainActivity.class);
//啟動活動
startActivity(intent);
}
});
}
在該方法中,打印了當前活動對象,同時為按鈕添加點擊事件:啟動本身活動。
(3)查看日志
發(fā)布android項目,為了查看效果,連續(xù)點擊按鈕3次,看到如下內(nèi)容:

從圖中可以看出,總共打印了4次(活動啟動+3次點擊按鈕),每次的活動實例都不用,從而驗證了活動啟動模式standard。
此時棧中有4個MainActivity實例,連續(xù)按Back鍵4次才能退出應用程序。
更多關(guān)于Android Activity相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android編程之a(chǎn)ctivity操作技巧總結(jié)》
希望本文所述對大家Android程序設計有所幫助。
相關(guān)文章
關(guān)于Android中WebView遠程代碼執(zhí)行漏洞淺析
這篇文章主要給大家介紹了關(guān)于Android中WebView遠程代碼執(zhí)行漏洞的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2018-05-05
Android入門之TabHost與TabWidget實例解析
這篇文章主要介紹了Android入門之TabHost與TabWidget,對于Android初學者有一定的學習借鑒價值,需要的朋友可以參考下2014-08-08
Android開發(fā)之計算器GridLayout布局實現(xiàn)方法示例
這篇文章主要介紹了Android開發(fā)之計算器GridLayout布局實現(xiàn)方法,結(jié)合實例形式分析了Android計算器界面布局及表達式計算相關(guān)操作技巧,需要的朋友可以參考下2019-03-03
android中使用Html渲染的方式實現(xiàn)必填項前面的*號示例
本篇文章主要介紹了android中使用Html渲染的方式實現(xiàn)必填項前面的*號示例,具有一定的參考價值,有興趣的可以了解一下2017-09-09
android組件SwipeRefreshLayout下拉小球式刷新效果
這篇文章主要為大家詳細介紹了android組件SwipeRefreshLayout下拉小球式刷新效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-02-02
實例講解Android多線程應用開發(fā)中Handler的使用
這篇文章主要介紹了Android多線程應用開發(fā)中Handler的使用,Handle主要被用來更新UI和處理消息,需要的朋友可以參考下2016-01-01

