本文實例講述了Android Activity啟動模式之standard。分享給大家供大家參考,具體如下:
Android的活動是通過任務(wù)Task來進行管理的,一個任務(wù)就是一組放在棧里的活動的集合,即所謂的返回棧(Back Stack)。棧具有先進后出、后進先出的特性。當(dāng)啟動一個活動時,活動會在返回棧中入棧,處于棧頂位置,當(dāng)按下返回鍵或者調(diào)用finish方法會銷毀一個活動,此時棧頂活動會出棧,屆時又會有新的活動處于棧頂位置。
在Android中,活動的啟動模式有四種,根據(jù)不同的需求可以為活動設(shè)置不同的啟動模式。在這里介紹standard模式。
standard模式是活動啟動的默認(rèn)模式,當(dāng)為活動設(shè)置了此模式,每次啟動都會創(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方法
@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //打印當(dāng)前對象 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啟動模式,當(dāng)點擊按鈕時,啟動MainActivity活動 Intent intent = new Intent(MainActivity.this,MainActivity.class); //啟動活動 startActivity(intent); } });}在該方法中,打印了當(dāng)前活動對象,同時為按鈕添加點擊事件:啟動本身活動。
(3)查看日志
發(fā)布android項目,為了查看效果,連續(xù)點擊按鈕3次,看到如下內(nèi)容:

從圖中可以看出,總共打印了4次(活動啟動+3次點擊按鈕),每次的活動實例都不用,從而驗證了活動啟動模式standard。
此時棧中有4個MainActivity實例,連續(xù)按Back鍵4次才能退出應(yīng)用程序。
更多關(guān)于Android Activity相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android編程之a(chǎn)ctivity操作技巧總結(jié)》
希望本文所述對大家Android程序設(shè)計有所幫助。
新聞熱點
疑難解答
圖片精選