您好,登錄后才能下訂單哦!
Android的Activity有四種啟動模式,分別為standard模式,singleTop模式,singleTask模式,singleInstance模式。
standard模式,也就是默認的模式,沒什么特別性,就符合堆棧的先入后出原則,每次跳轉Activity都會創建Activity實例,并把它放入Activity棧中。
singleTop模式,從字面表達也可以看出,棧頂單例。也就是說,當跳轉Activity時,如果跳轉的Activity在棧頂已經存在,那么就重用該實例,否則會穿件新的實例并放入棧頂。例如在A頁面調用
Intent i = new Intent(A.this,A.class),系統并不會進行跳轉,如果在A頁面跳轉到B頁面,B頁面跳轉A頁面,我們會發現堆棧中出現了兩個A實例。
singleTask模式,如果棧中已經存在該實例,不管是否在棧頂,都會重用該實例,彈出所有棧中在該實例之上的所有頁面。
singleInstance模式:在新棧中創建該Activity實例,并讓多個應用共享該實例。如果在當前應用中,和singleTask的區別在于singleInstance不會移除原來在它棧中之上的實例。例如A->B(singleInstance)->C->B(singleInstance)->D,如果此時我們按Back鍵返回,則界面顯示為D->B->C->A,顯然B只是被移動了位置。
具體各模式操作可以下載源碼進行操作。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。