您好,登錄后才能下訂單哦!
第九章 Activity的加載模式
task:類似于棧,每次打開界面會創建一個task,然后將這開啟的界面放入到該task中。
(1)standard:默認模式
每次都會創建一個新的界面,將該界面加入task中
(2)singleTop:棧頂單實例模式
a. 如果目標Activity不存在,創建一個新的Activity,存入到task中
b. 如果目標Activity已經存在,并且處于棧頂,不會再創建新的Activity
c. 如果目標Activity已經存在,但不處于棧頂,創建一個新的Activity存放到task中
(3)singleTask:棧中單實例
a. 如果目標Activity不存在,創建一個新的Activity,存入到task中
b. 如果目標Activity已經存在,并且處于棧頂,不會再創建新的Activity
c. 如果目標Activity已經存在,但是處于棧中,會將目標Activity之上的所有Activity銷毀
(4)singleInstance:全局單實例
a. 如果目標Activity不存在,創建一個新的task和新的Activity,將Activity存入到task中
b. 如果目標Activity已經存在,將該Activity所在的task移動到前臺進行展示
單實例(單例,單態)SingleTon
(1)聲明一個類,私有化其構造方法
private SingleTon(){}
(2)創建一個該類類型的對象
private static SingleTon singleTon = new SingleTon();
(3)public static SingleTon getInstance(){
return singleTon;
}
(4)測試
Intent標志位
//設置Intent標志位
intent.setFlags(Intent.FLAG_ACTIVITY_XXX);
a. Intent.FLAG_ACTIVITY_SINGLE_TOP:
與加載模式中singleTop(棧頂單實例)類似
b. Intent.FLAG_ACTIVITY_CLEAR_TOP:
效果與加載模式中singleTask類似,將目標Activity之上的所有Activity都銷毀(包括自身),然后創建一個新的Activity
c. Intent.FLAG_ACTIVITY_NEW_TASK:
備注:如果在service中通過startActivity跳轉界面,必須設置Intent標志位。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。