溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Activity四種啟動模式2

發布時間:2020-07-02 11:30:13 來源:網絡 閱讀:346 作者:yangxiaoming123 欄目:移動開發

一:Standard的啟動模式

 Standard是默認的模式每開始一個activity,就會在棧中加一個activity,相同的也會加,

 

所以加多少個,就要按多少次返回鍵才能回到最初的界面

 

二:singleTop的啟動模式

1.清單配置:

       <activity 

 

            android:name="com.itcode.taskstack.SecondActivity"

 

            android:label="@string/_second"

 

            android:launchMode="singleTop">

 

</activity>

 

    Singletop:如果任務棧的棧頂已經存在這個activity的實例,

 

  不會創建新的activity,而是利用舊的activity實例

 

 調用 舊的activity的onNewIntent()方法

 

2.作用:

避免一個糟糕的用戶體驗,如果這個界面已經被打開且在任務棧的棧頂,就不會重復開啟了

 

 

 

三:Singletask的啟動模式:

1.Androidfest配置:

        <activity 

 

            android:name="com.itcode.taskstack.SecondActivity"

 

            android:label="@string/_second"

 

            android:launchMode="singleTask">

 

     </activity>

 

2.作用:

singletask的啟動模式:在任務棧里面只允許一個實例存在,假如02是singletask,

 

棧里是:01 02 01 03 若此時開啟02,則會復用這個已經存在的activity,并且把當前activity上面其他的activity從任務棧里清空!

 

3.應用場景:

瀏覽器:底層使用的是webkit c 內核,初始化一次需要申請很多的內存資源,占用cpu時間

 

所以使用singletask,保證在任務棧里只會有一個實例存在

 

四:singleInstance的啟動模式(相當于實例):

 1.Androidfest的配置:

 <activity 

 

            android:name="com.itcode.taskstack.SecondActivity"

 

            android:label="@string/_second"

 

            android:launchMode="singleInstance">

 

        </activity>

 

2.特點:

singleInstance的啟動模式更加極端,

 

開啟新的activity,會給自己創建一個單獨的任務棧

 

 3.應用場景:

在整個手機操作系統里面只會有一個該activity的實例存在,

 

所以多個應用程序共享這個activity的實例,有線程安全問題!


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女