Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android Activity啟動模式之singleTask實例詳解

Android Activity啟動模式之singleTask實例詳解

編輯:關於Android編程

本文實例分析了Android Activity啟動模式之singleTask。分享給大家供大家參考,具體如下:

前面的文章介紹了Android 活動Activity的啟動模式:standard 和singleTop 。本文繼續介紹Activity的下一個啟動模式:singleTask。

singleTask:當設置活動的啟動模式為singleTask時,首先檢查返回棧中是否存在當前活動,如果存在當前活動的實例,則直接使用當前實例,並把當前活動之上的所有活動pop出棧,即當前活動位於棧頂位置。

代碼實例如下:

(1)修改AndroidManifest.xml

修改活動MainActivity的啟動模式為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

為了測試效果,重寫onRestart方法:

@Override
protected void onRestart() {
  super.onRestart();
  Log.d("MainActivity", "onRestart");
}

(3)修改MyActivity1.java

為了測試效果,重寫onDestroy方法:

@Override
protected void onDestroy() {
    super.onDestroy();
    Log.d("MyActivity1", "onDestroy");
}

(3)重新發布,查看日志

發布程序,進入MainActivity活動,點擊按鈕進入MyActivity1活動,點擊按鈕回到主活動MainActivity,日志顯示如下:

從圖中可以看出,當在MyActivity1中點擊按鈕時,返回棧中此時存在一個主活動MainActivity的實例,並且在MyActivity1的下面,當點擊時,MyActivity1出棧,實例銷毀,調用onDestroy方法,而主活動則調用onRestart方法。

如果再次在主活動中點擊按鈕進入MyActivity1活動,此時會創建MyActivity1實例,再次返回,見日志如下:

這正是Activity啟動模式singleTask的特性。

更多關於Android Activity相關內容感興趣的讀者可查看本站專題:《Android編程之activity操作技巧總結》

希望本文所述對大家Android程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved