溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Android學(xué)習(xí)筆記—第九章 Activity的加載模式

發(fā)布時(shí)間:2020-06-05 12:07:51 來源:網(wǎng)絡(luò) 閱讀:234 作者:lyklykkk 欄目:移動(dòng)開發(fā)

第九章 Activity的加載模式

  1. task:類似于棧,每次打開界面會(huì)創(chuàng)建一個(gè)task,然后將這開啟的界面放入到該task中。

    (1)standard:默認(rèn)模式

    每次都會(huì)創(chuàng)建一個(gè)新的界面,將該界面加入task中

    (2)singleTop:棧頂單實(shí)例模式

    a. 如果目標(biāo)Activity不存在,創(chuàng)建一個(gè)新的Activity,存入到task中

    b. 如果目標(biāo)Activity已經(jīng)存在,并且處于棧頂,不會(huì)再創(chuàng)建新的Activity

    c. 如果目標(biāo)Activity已經(jīng)存在,但不處于棧頂,創(chuàng)建一個(gè)新的Activity存放到task中

    (3)singleTask:棧中單實(shí)例

    a. 如果目標(biāo)Activity不存在,創(chuàng)建一個(gè)新的Activity,存入到task中

    b. 如果目標(biāo)Activity已經(jīng)存在,并且處于棧頂,不會(huì)再創(chuàng)建新的Activity

    c. 如果目標(biāo)Activity已經(jīng)存在,但是處于棧中,會(huì)將目標(biāo)Activity之上的所有Activity銷毀

    (4)singleInstance:全局單實(shí)例

    a. 如果目標(biāo)Activity不存在,創(chuàng)建一個(gè)新的task和新的Activity,將Activity存入到task中

    b. 如果目標(biāo)Activity已經(jīng)存在,將該Activity所在的task移動(dòng)到前臺(tái)進(jìn)行展示

  2. 單實(shí)例(單例,單態(tài))SingleTon

    (1)聲明一個(gè)類,私有化其構(gòu)造方法

    private SingleTon(){}

    (2)創(chuàng)建一個(gè)該類類型的對(duì)象

    private static SingleTon singleTon = new SingleTon();

    (3)public static SingleTon getInstance(){

            return singleTon;

         }

    (4)測試

  3. Intent標(biāo)志位

    //設(shè)置Intent標(biāo)志位

    intent.setFlags(Intent.FLAG_ACTIVITY_XXX);

    a. Intent.FLAG_ACTIVITY_SINGLE_TOP:

    與加載模式中singleTop(棧頂單實(shí)例)類似

    b. Intent.FLAG_ACTIVITY_CLEAR_TOP:

    效果與加載模式中singleTask類似,將目標(biāo)Activity之上的所有Activity都銷毀(包括自身),然后創(chuàng)建一個(gè)新的Activity

    c. Intent.FLAG_ACTIVITY_NEW_TASK:

    備注:如果在service中通過startActivity跳轉(zhuǎn)界面,必須設(shè)置Intent標(biāo)志位。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI