活動(activity)的四種啟動模式

來源:互聯網
上載者:User

標籤:

1.    standard模式

       它是活動預設的啟動模式,在不進行顯示制定的情況下,所有活動都會自動使用這種啟動模式。每次通過此模式來啟動activity時,android總會為目標activity啟動一個新的執行個體。

2.    singleTop模式

       它和standard模式有點類似,但是又一點是不同的:此模式下當將要被啟動的activity已經位於Task棧頂時,系統不會重新建立目標activity執行個體,而是複用已有的activity執行個體。

       如果將要被啟動的activity沒有位於Task棧頂時,此時系統會重新建立目標activity的執行個體,並將它載入到Task棧頂上。    

3.    singleTask模式

       使用這種載入模式的activity在同一個Task內只有一個執行個體,當系統採用此singleTask模式啟動activity時,可以分為三種情況:

       <1>    如果將要啟動的activity不存在,系統將會建立目標activity執行個體,並將它加入到Task棧頂。

       <2>    如果將要啟動的activity已經位於Task棧頂,此時與singleTop模式的行為相同。

       <3>    如果將要啟動的activity已經存在,但沒有位於Task棧頂,系統將會把位於該activity上面的所有activity移出Task棧,從而使得目標activity轉入棧頂。

4.    singleInstance模式

       此載入模式下,無論從哪個Task中啟動目標activity,只會建立一個目標activity執行個體,並會使用一個全新的Task棧來裝載該activity執行個體。當系統採用singleInstance模式啟動activity時,可以分為兩種情況:

       <1>    如果將要啟動的activity不存在,系統會先建立一個全新的Task、再建立目標activity的執行個體,並將它加入新的Task的棧頂。

       <2>    如果將要啟動的activity已經存在,無論它位於哪個應用程式中,無論它位於哪個Task中,系統將會把該activity所在的Task轉到前台,從而使用該activity顯示出來。

       tips:需要指出的是,採用singleInstance模式載入activity總是位於Task棧頂,採用singleInstance模式載入activity所在Task只包含該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.