Activity的四种加载模式(附:Intent标记位)

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

Activity的四种加载模式(附:Intent标记位)

时间: 2024-07-30 10:17:19

Activity的四种加载模式(附:Intent标记位)的相关文章

Activity的四种加载模式

Activity的加载模式是在清单文件AndroidManifest.xml文件中进行设置 <activity android:name="...." android:label="@string/app_name" android:launchMode="singleTask"(Activity的加载模式) android:theme="@android:style/Theme.Light.NoTitleBar" &g

转载 android activity的四种加载模式

Activity的四种加载模式 -- singleTask 和 singleInstance模式 2011-11-02 21:23:30 分类: 嵌入式 Activity的启动模式可以通过AndroidManifest.xml文件中的<activity>元素的属性来指定,一共有4中模式:   <activity android:name="ActivityMain" android:launchMode="singleTask"></a

Activity的4种加载模式和Intent的常用flag

在多Activity开发中,有可能是自己应用之间的Activity跳转,或者夹带其他应用的可复用Activity.可能会希望跳转到原来某个Activity实例,而不是产生大量重复的Activity.这需要为Activity配置特定的加载模式,而不是使用默认的加载模式. 加载模式分类及在哪里配置 (1)Activity有四种加载模式: standard singleTop singleTask singleInstance (2)模式配置位置: 设置的位置在AndroidManifest.xml文

activity的四种加载模式介绍

  四种加载模式的介绍: a) Standard : 系统默认模式,一次跳转即会生成一个新的实例:    b) SingleTop : 和 standard 类似,唯一的区别就是当跳转的对象是位于栈顶的activity时,程序将不会生成一个新的activity实例,而是直接跳到现在存于栈顶的那个activity实例:    c) SingleTask: singleTask 模式和后面的singleInstance 模式都只是创建一个实例:该模式下,无论调转的对象是不是位于栈顶的activity

Activity有四种加载模式:standard(默认), singleTop, singleTask和 singleInstance

standard:Activity的默认加载方法,即使某个Activity在Task栈中已经存在,另一个activity通过Intent跳转到该activity,同样会新创建一个实例压入栈中.例如:现在栈的情况为:A B C D,在D这个Activity中通过Intent跳转到D,那么现在的栈情况为: A B C D D .此时如果栈顶的D通过Intent跳转到B,则栈情况为:A B C D D B.此时如果依次按返回键,D  D C B A将会依次弹出栈而显示在界面上. singleTop:如

singleTop和singleTask有什么区别?(活动 Activity 四种加载模式)

singleTop要求如果创建intent的时候栈顶已经有要创建的Activity的实例,则将intent发送给该实例,而不发送给新的实例.(注意是栈顶,不在栈顶照样创建新实例!) singleTask模式:当intent到来,需要创建singleTask模式Activity的时候,系统会检查栈里面是否已经有该Activity的实例.如果有直接将intent发送给它. Activity的四种加载模式: 1.standard :系统的默认模式,一次跳转即会生成一个新的实例.假设有一个activit

Activity四种加载模式(解释的非常好)

在多Activity开发中,有可能是自己应用之间的Activity跳转,或者夹带其他应用的可复用Activity.可能会希望跳转到原来某个Activity实例,而不是产生大量重复的Activity. 这需要为Activity配置特定的加载模式,而不是使用默认的加载模式. 加载模式分类及在哪里配置 Activity有四种加载模式: standard singleTop singleTask singleInstance 设置的位置在AndroidManifest.xml文件中activity元素的

Activity四种加载模式

android activity四种加载模式,有 >>>standard: 标准模式,这是默认的加载方式 >>>singleTop : task顶单例模式 >>>singleTask : Task内单列模式 >>>singleInstance :全局单列模式 <1>standard: 标准模式,这是默认的加载方式 public class StandardTest extends Activity { @Override

Android中Activity四种加载模式

Activity四种加载模式 我们知道在配置Activity的时候可以指定android:lauchMode属性,该属性用于配置该Activity的加载模式,概述行支持以下四种: 1.standard: 标准模式,这是默认的加载模式. 2.singleTop: Task顶单例模式. 3.singleTask: Task内单例模式. 4.singleInstance: 全局单例模式. 那么Activity为什么需要制定加载模式呢? 由于在Android上启动一个应用后,系统会自动的创建一个属于该应