Android Activity 啟動模式

來源:互聯網
上載者:User

標籤:android   ar   使用   strong   檔案   on   art   cti   時間   

啟動模式類別
  • standard:每次啟動activity都會建立新的執行個體對象。activity可以在多個不同的任務中被執行個體化多個對象。
  • singleTop:如果當前任務棧頂有activity的執行個體對象,則調用onNewIntent()擷取當前執行個體對象,否則在當前任務棧中執行個體化新對象。
  • singleTask:任務棧的只有一個activity執行個體對象,如果已存在activity執行個體對象則調用onNewIntent()擷取當前執行個體對象。
  • singleInstance:由系統建立新的任務棧並維護唯一的activity執行個體對象
定義啟動模式
  1. 配置manifest檔案:定義標籤的launchMode屬性值(standard,singleTop,singleTask,singleInstance),預設值是standard

  2. 設定Intent的flag變數:設定Intent的flag欄位值(FLAG_ACTIVITY_NEW_TASK,FLAG_ACTIVITY_SINGLE_TOP,FLAG_ACTIVITY_CLEAR_TOP)

    • FLAG_ACTIVITY_NEW_TASK:standard啟動模式
    • FLAG_ACTIVITY_SINGLE_TOP:singleTop啟動模式
    • FLAG_ACTIVITY_CLEAR_TOP:如果當前任務棧中已有activity執行個體對象,則清空上面的其他activity並調用onNewIntent()啟用此執行個體對象
清空任務棧

預設情況下,當某一任務長時間不使用時,Android系統會情況當前任務中除了跟activity之外的所有activity。

  • alwaysRetainTaskState:當任務棧的跟activity的屬性值設定true後,即使長時間離開某一任務,系統依然保留所有activity
  • clearTaskOnLaunch:當任務棧的跟activity的屬性值設定true後,使用者離開此任務後,就會清空此任務棧中的所有activity
  • finishOnTaskLaunch:正對當前activity有效,當使用者離開此任務後,此activity不在恢複離開前的狀態

Android 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.