Activity加载模式

Activity的四种启动模式

Activity有四种启动模式:

1. standard,默认的启动模式,只要激活Activity,就会创建一个新的实例,并放入任务栈中,这样任务栈中可能同时有一个Activity的多个实例。

2. singleTop,激活Activity时,如果栈顶是这个Activity,就不会创建新的实例;如果栈顶不是这个Activity,则会创建新的实例。

3. singleTask,如果栈中存在Activity的实例,则将栈中该实例以上的其他Activity的实例移除,让该Activity的实例在栈顶;如果栈中不存在实例,则创建新的实例。

4. singleInstance,多个应用共享Activity的一个实例,不论是否是同一个应用,只要是激活该Activity,都重用这个实例。

可以在AndroidManifest.xml中为Activity设置启动模式,具体方法是设置android:launchMode属性。

有的应用需要在两个窗体来回跳转,如A-->B,B-->A,......,这时就需要将A和B的启动模式设置为singleTask,否则按返回键时,也将在A和B两个窗体来回跳转。

时间: 2024-08-13 13:37:15

Activity加载模式的相关文章

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

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

android launchMode加载模式和intent flag

ApplicationTask和Process的区别与联系 Application task process 四种加载模式 standard模式 singleTop模式 singleTask模式 singleInstance模式 SingleTask和SingleInstance区别 实例 startActivityForResult如果被启动activity加载模式为SingleTask和SingleInstance 使用Intent标志 FLAG_ACTIVITY_NEW_TASK FLAG

【原创Android游戏】NinOne V2.3.1 --加载模式的学习,界面的重新设计

上次更新后又发现了一些bug,而且是非常明显的bug,一一加以改正了过来. 猜数字游戏的功能已基本实现,不过我觉得一个应用单做一个游戏有点不太过瘾,略显单调,于是我打算基于这个,写一个n合1的游戏集成应用,一个应用集成多款游戏,这样就可以通过一个应用想玩什么游戏就玩什么游戏了,虽然可能只会实现一些简单游戏,但是反正是自己写着玩嘛,有兴趣就有动力,嘿嘿. ------------------------------------------------------------------------

Activity四种加载模式

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

我的Android进阶之旅------&gt;Android Activity的singleTask加载模式和onActivityResult方法之间的冲突

今天调试一个bug的时候,情景如下: 一个Activity A,需要用startActivityForResult方法开启Activity B.Activity B的launch mode被设置为singleTask,那么在Activity B开启之后的瞬间(未等B返回任何result),Activity A中的onActivityResult方法就会被调用,并且收到一个RESULT_CANCEL的request code. 然后在ActivityB中做了一些逻辑之后,在Activity B通过

Android四种Activity的加载模式(转)

建议首先阅读下面两篇文章,这样才可以更好的理解Activity的加载模式: Android的进程,线程模型: http://www.cnblogs.com/ghj1976/archive/2011/04/28/2031586.html 其中对“Android的单线程模型”的描述,明白Activity的一些注意事项. Android Application Task Activities的关系  http://www.cnblogs.com/ghj1976/archive/2011/04/29/2

activity的四种加载模式介绍

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

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

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

Android学习笔记—第九章 Activity的加载模式

第九章 Activity的加载模式 task:类似于栈,每次打开界面会创建一个task,然后将这开启的界面放入到该task中. (1)standard:默认模式 每次都会创建一个新的界面,将该界面加入task中 (2)singleTop:栈顶单实例模式 a. 如果目标Activity不存在,创建一个新的Activity,存入到task中 b. 如果目标Activity已经存在,并且处于栈顶,不会再创建新的Activity c. 如果目标Activity已经存在,但不处于栈顶,创建一个新的Acti