Android中的Activity四種啟動模式(launchMode)

來源:互聯網
上載者:User

更多Activities討論:http://www.eyeandroid.com/forum.php?mod=forumdisplay&fid=2&filter=typeid&typeid=42
    我們在開發項目的過程中,會涉及到該應用中多個Activity組件之間的跳轉,或者夾帶其它應用的可複用的Activity。例如我們可能希望跳轉到原來某個Activity執行個體,而不是產生大量重複的 Activity。這樣就需要我們為 Activity 配置特定的載入模式,而不是使用預設的載入模式。
Activity 有四種載入模式
[1] standard 模式
     這是預設模式,每次啟用Activity時都會建立Activity執行個體,並放入任務棧中。
[2] singleTop 模式
     如果在任務的棧頂正好存在該Activity的執行個體,就重用該執行個體( 會調用執行個體的 onNewIntent() ),否則就會建立新的執行個體並放入棧頂,即使棧中已經存在該Activity的執行個體,只要不在棧頂,都會建立新的執行個體。
[3] singleTask 模式
     如果在棧中已經有該Activity的執行個體,就重用該執行個體(會調用執行個體的 onNewIntent() )。重用時,會讓該執行個體回到棧頂,因此在它上面的執行個體將會被移出棧。如果棧中不存在該執行個體,將會建立新的執行個體放入棧中。
[4] singleInstance 模式
     在一個新棧中建立該Activity的執行個體,並讓多個應用共用該棧中的該Activity執行個體。一旦該模式的Activity執行個體已經存在於某個棧中,任何應用再啟用該Activity時都會重用該棧中的執行個體( 會調用執行個體的 onNewIntent() )。其效果相當於多個應用共用一個應用,不管誰啟用該 Activity 都會進入同一個應用中。
設定啟動模式的位置在 AndroidManifest.xml 檔案中 Activity 元素的 android:launchMode 屬性。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.