您好,登錄后才能下訂單哦!
Activity的加載模式是在清單文件AndroidManifest.xml文件中進行設置
<activity
android:name="...."
android:label="@string/app_name"
android:launchMode="singleTask"(Activity的加載模式)
android:theme="@android:style/Theme.Light.NoTitleBar" >
</activity>
1、standard(默認)
每次跳轉都會創建一個新的Activity對象
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添加到Task中
b、如果目標Activity已經存在,把目標Activity所在的Task移到前臺
Intent標志位
intent.setFlags(XXXXX);
1、Intent.FLAG_ACTIVITY_SINGLE_TOP
跟加載模式中singleTop棧頂單實例類似
2、Intent.FLAG_ACTIVITY_CLEAR_TOP
跟加載模式中singleTask區別:
如果activity已經存在,并處于棧中,會把目標Activity 之上的所有Activity都銷 毀(包括自身),重新創建一個新的Activity
3、Intent.FLAG_ACTIVITY_NEW_TASK
如果在service中跳轉Activity,必須去設置意圖標志位
Intent.FLAG_ACTIVITY_NEW_TASK
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。