Android之Activity的四種啟動模式

來源:互聯網
上載者:User

當應用運行起來後就會開啟一條線程,線程中會運行一個任務棧,當Activity執行個體建立後就會放入任務棧中。Activity啟動模式的設定在AndroidManifest.xml檔案中,通過配置Activity的屬性android:launchMode=""設定。

 

1. Standared模式(預設)

我們平時直接建立的Activity都是這種模式的Activity,這種模式的Activity的特點是:只要你建立了Activity執行個體,一旦啟用該Activity,則會向任務棧中加入新建立的執行個體,退出Activity則會在任務棧中銷毀該執行個體。

 

2. SingleTop模式

這種模式會考慮當前要啟用的Activity執行個體在任務棧中是否正處於棧頂,如果處於棧頂則無需重新建立新的執行個體,會重用已存在的執行個體,否則會在任務棧中建立新的執行個體。

 

3. SingleTask模式

如果任務棧中存在該模式的Activity執行個體,則把棧中該執行個體以上的Activity執行個體全部移除,調用該執行個體的newInstance()方法重用該Activity,使該執行個體處於棧頂位置,否則就重新建立一個新的Activity執行個體。

 

4. SingleInstance模式

當該模式Activity執行個體在任務棧中建立後,只要該執行個體還在任務棧中,即只要啟用的是該類型的Activity,都會通過調用執行個體的newInstance()方法重用該Activity,此時使用的都是同一個Activity執行個體,它都會處於任務棧的棧頂。此模式一般用於載入較慢的,比較耗效能且不需要每次都重新建立的Activity。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.