activity四種起動模式

tags:    時間:2014-05-04 13:21:48
activity四種啟動模式

activity的四種啟動模式:

  1. standard:默認模式,activity在每次啟動的時候都會有一個新的實例加入到task中。
  2. singleTop:如果在頂部已經存在一個activity的實例,系統就會通過調用onNewIntent()方法來啟動,無需再此實例化一個activity。
  3. singleTask:系統會創建一個新的task和一個activity實例在task的根部,如果activity已經存在單獨的task中,系統就會調用onNewIntent() 方法類,而不是進行實例化一個新的實例,僅有一個activity實例同時存在。
  4. singleInstance:和singleTask相似,除了系統不會讓其他的activities運行在所有持有的task實例中,這個activity是獨立的,並且task中的成員只有它,任何其他activities運行這個activity都將打開一個獨立的task。

四種啟動模式的的設置方式

  1. 在manifest文件中設置,例如
     <activity android:name=".ActivityA" android:launchMode="standard">
     紅色字體部分就是設置啟動模式為標準模式,當然,默認就是標準模式。
  2. 通過Intent flags設置,也就是在代碼中設置。在代碼中設置包括三種:
  • FLAG_ACTIVITY_NEW_TASK:同singleTask。
  • FLAG_ACTIVITY_SINGLE_TOP:  同singleTop。
  • FLAG_ACTIVITY_CLEAR_TOP :If the activity being started is already running in the current task, then instead of launching a new instance of that activity, all of the other activities on top of it are destroyed and this intent is delivered to the resumed instance of the activity (now on top), through onNewIntent()).在四種啟動模式中沒有對應的值。

       使用方法就是在啟動actvity的intent中設置如下

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

 

推薦閱讀文章

Bookmark the permalink ,來源:互聯網