Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android -- 啟動模式

Android -- 啟動模式

編輯:關於Android編程

Android的啟動模式分為四種:   standard 模式啟動模式,每次激活Activity時都會創建Activity,並放入任務棧中。   singleTop 如果在任務的棧頂正好存在該Activity的實例, 就重用該實例,否者就會創建新的實例並放入棧頂(即使棧中已經存在該Activity實例,只要不在棧頂,都會創建實例)。   singleTask 如果在棧中已經有該Activity的實例,就重用該實例(會調用實例的onNewIntent())。重用時,會讓該實例回到棧頂,因此在它上面的實例將會被移除棧。如果棧中不存在該實例,將會創建新的實例放入棧中。   singleInstance 在一個新棧中創建該Activity實例,並讓多個應用共享改棧中的該Activity實例。一旦改模式的Activity的實例存在於某個棧中,任何應用再激活改Activity時都會重用該棧中的實例,其效果相當於多個應用程序共享一個應用,不管誰激活該Activity都會進入同一個應用中。   standard                                                                                      standard是系統默認的啟動模式,每次創建都是在堆上放一個新的Activity。   這裡就不多介紹了。   singleTop                                                                                   每次使用新的Activity時會自動檢測棧頂的當前Activity是否是需要引用的Activity,如果是則直接引用此Activity,而不會創建新的Activity。   <activity             android:name=".Activity2"             android:label="singleTop"             android:launchMode="singleTop" >         </activity> 其效果是最頂層是singleTop的話,再點擊singleTop按鈕不會創建新的Activity。   image   singleTask                                                                                  此啟動模式和singleTop在名字上即可看出區別,即singleTop每次只檢測當前棧頂的Activity是否是我們需要請求創建的,而singleTask則會檢測棧中全部的Activity對象,從上向下,如果檢測到是我們所請求的則會消滅此Activity對象上面的對象,直接把檢測到的我們需要的Activity置為棧頂。   <activity             android:name=".Activity4"             android:launchMode="singleTask"             android:label="singleTask" >         </activity 其效果是點擊singleTask之後點擊多個standard,再點singleTask,那些standard都沒了。   image   singleInstance                                                                           此啟動模式和我們使用的浏覽器工作原理類似,我們都知道在多個程序中訪問浏覽器時,如果當前浏覽器沒有打開,則打開浏覽器,否則會在當前打開的浏覽器中訪問。此模式會節省大量的系統資源,因為他能保證要請求的Activity對象在當前的棧中只存在一個。
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved