Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> Activity 啟動模式,activity啟動模式

Activity 啟動模式,activity啟動模式

編輯:關於android開發

Activity 啟動模式,activity啟動模式


Activity的啟動模式有四種,分別是standard、singleTop、singleTask、singleInstance。   Android是通過回退棧的模式來管理Activity實例的。棧是一種先進後出的集合。比如我們打開一個Activity,當前顯示的就是在棧的最頂端,當用戶點擊後退或者是應用的返回按鈕的時候,此時系統就會將棧頂的Activity出棧,那麼在原來棧頂的下一個Activity就會變成棧頂從而顯示在設備上。   standard 默認模式,可以不用寫配置。在這個模式下,都會默認創建一個新的實例。因此,在這種模式下,可以有多個相同的實例,也允許多個相同Activity疊加。就是說同一個任務棧中可以有多個Activity存在。   例如: 如果ActivityA已經存在了,在這個ActivityA調用它的startActivity()啟動一個新的ActivityA,那麼這是就是有兩個ActivityA了。   singleTop   可以有多個實例,但是不允許多個相同Activity疊加。即,如果Activity在棧頂的時候,啟動相同的Activity,不會創建新的實例,而是重用這個在棧頂的Activity,並且會調用其onNewIntent方法。  singletop模式,如果新啟動一個新的實例,不在棧頂的話會重新創建一個新的實例,那麼他的行為就跟standard模式一樣。     singleTask 只有一個實例。在同一個應用程序中啟動他的時候,若Activity不存在,則會在當前task創建一個新的實例,若存在,則會把task中在其之上的其它Activity destory掉並調用它的onNewIntent方法。 如果是在別的應用程序中啟動它,則會新建一個task,並在該task中啟動這個Activity,singleTask允許別的Activity與其在一個task中共存,也就是說,如果我在這個singleTask的實例中再打開新的Activity,這個新的Activity還是會在singleTask的實例的task中。     singleInstance 只有一個實例,並且這個實例獨立運行在一個task中,這個task有且只有一個實例,不允許有別的Activity存在。當再次啟動該Activity的時候,會重用已存在的任務和實例。   singletask與singleInstance不同的是,singletask在一個任務中只有一個實例,singleinstance在整個系統中只能有一個,singletask在不同的任務中是可以存在多個實例的。    

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