Activity的四種launchMode

launchMode在多個Activity跳轉的過程當中扮演着重要的角色,它能夠決定是否生成新的Activity實例,是否重用已存在的Activity實例,是否和其餘Activity實例公用一個task裏。這裏簡單介紹一下task的概念,task是一個具備棧結構的對象,一個task能夠管理多個Activity,啓動一個應用,也就建立一個與之對應的task。android

Activity一共有如下四種launchMode:xml

1.standard對象

  standard模式是默認的啓動模式.無論有沒有已存在的實例,都生成新的實例。ci

2.singleTopit

  跳轉時系統會先在棧結構中尋找是否有一個當前實例正位於棧頂,若是有則再也不生成新的,而是直接使用。系統發現存在有當前實例,但不是位於棧頂,因而從新生成一個實例。配置

3.singleTaskactivity

  若是發現有對應的Activity實例,則使此Activity實例之上的其餘Activity實例通通出棧,使此Activity實例成爲棧頂對象,顯示到幕前。vi

4.singleInstance生成

  這種啓動模式比較特殊,由於它會啓用一個新的棧結構,將Acitvity放置於這個新的棧結構中,並保證再也不有其餘Activity實例進入。實例

咱們能夠在AndroidManifest.xml配置<activity>的android:launchMode屬性爲以上四種之一便可。

相關文章
相關標籤/搜索