Android學習筆記—第九章 Activity的載入模式

來源:互聯網
上載者:User

標籤:android   intent   activity載入模式   標誌位   

第九章 Activity的載入模式

  1. 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移動到前台進行展示

  2. 單一實例(單例,單態)SingleTon

    (1)聲明一個類,私人化其構造方法

    private SingleTon(){}

    (2)建立一個該類類型的對象

    private static SingleTon singleTon = new SingleTon();

    (3)public static SingleTon getInstance(){

            return singleTon;

         }

    (4)測試

  3. 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標誌位。

Android學習筆記—第九章 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.