Activity的加載模式是在清單文件AndroidManifest.xml文件中進行設置
創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務領域包括:網(wǎng)站制作、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的巴里坤哈薩克網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!
android:name="...." android:label="@string/app_name" android:launchMode="singleTask"(Activity的加載模式) android:theme="@android:style/Theme.Light.NoTitleBar" >
1、standard(默認)
每次跳轉(zhuǎn)都會創(chuàng)建一個新的Activity對象
2、singleTop 棧頂單實例
a、當activity不存在的時候,創(chuàng)建一個新的Activity對象加載到當前Task里面
b、如果Activity已經(jīng)存在,并處于棧頂,開啟自身不會再創(chuàng)建新的Activity對象
c、如果Activity已經(jīng)存在,處于棧中,開啟該界面創(chuàng)建一個新的Activity對象加載到當前Task中
3、singleTask 棧中單實例
a、當Activity不存在的時候,創(chuàng)建一個新的Activity對象加載到當前Task里面
b、如果Activity已經(jīng)存在,并處于棧頂,開啟自身不會再創(chuàng)建新的Activity對象
c、如果Activity已經(jīng)存在,處于棧中,開啟該界面把目標Activity之上的所有Activity都銷毀
4、singleInstance 全局單實例
a、如果Activity不存在的時候,創(chuàng)建一個新的Task,然后把創(chuàng)建目標Activity添加到Task中
b、如果目標Activity已經(jīng)存在,把目標Activity所在的Task移到前臺
Intent標志位
intent.setFlags(XXXXX);
1、Intent.FLAG_ACTIVITY_SINGLE_TOP
跟加載模式中singleTop棧頂單實例類似
2、Intent.FLAG_ACTIVITY_CLEAR_TOP
跟加載模式中singleTask區(qū)別:
如果activity已經(jīng)存在,并處于棧中,會把目標Activity 之上的所有Activity都銷 毀(包括自身),重新創(chuàng)建一個新的Activity
3、Intent.FLAG_ACTIVITY_NEW_TASK
如果在service中跳轉(zhuǎn)Activity,必須去設置意圖標志位
Intent.FLAG_ACTIVITY_NEW_TASK