standard和singleTop属性的 Activity 的实例可以属于任何任务(Task),并且可以位于Activity堆栈的任何位置。比较典型的一种情况是,一个任务的代码执行startActivity(),如果传递的 Intent 对象没有包含 FLAG_ACTIVITY_NEW_TASK 属性, 指定的 Activity 将被该任务调用,从而装入该任务的Activity 堆栈中。 standard和singleTop的区别在于:standard模式的Activity在被调用时会创建一个新的实例,所有实例处理同一个Intent对象; 但对于singleTop模式的Activity,如果被调用的任务已经有一个这样的Activity 在堆栈的顶端,那么不会有新的实例创建, 任务会使用当前顶端的Activity实例来处理Intent对象,换句话说,如果被调用的任务包含一个不在堆栈顶端的 singleTop Activity, 或者堆栈顶端为 singleTop 的Activity的任务不是当前被调用的任务,那么,仍然会有一个新的Activity对象被创建。
singleTask 和 singleInstance模式的Activity 仅可用于启动任务的情况, 这种模式的Activity总是处在Activity堆栈的最底端,并且一个任务中只能被实例化一次。两者的区别在于:对于 singleInstance模式的Activity, 任务的Activity堆栈中如果有这样的Activity,那它将是堆栈中的唯一的 Activity, 当前任务收到的 Intent 都由它处理, 由它开启的其他 Activity 将在其他任务中被启动; 对于 SingleTask模式的Activity,它在堆栈底端,其上方可以有其他Activity被创建, 但是,如果发给该Activity的Intent对象到来时该Activity不在堆栈顶端,那么该Intent对象将被丢弃,但是界面还是会切换到当前的Activity。
分享到:
相关推荐
在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作。在Android中Activity的启动模式决定了Activity的启动运行方式。 本文档讲解Android中Activity的启动模式
Android组件Activity四种启动模式的介绍与使用方法
activity四种启动模式,
这是有关Activity四种启动模式的示例代码,来源于网络并加上了一些个人的注释和总结。
Android的Activity一共有4中启动模式分别是:standard、singleTop、singleTask、singleInstance。资源是该例子的项目,直接导入项目即可。
activity的四种加载模式:<!-- 不写的话也默认是standard --> <!-- standard表示每执行一次startactivity就新建一个实例 singleTop表示每次执行startactivity时,如果当前activity在taskstack的顶端,则不...
关于Activity的四种启动模式demon 博文地址:http://blog.csdn.net/sapce_fish/article/details/52672495
activity 的四种启动模式介绍,分别详细的介绍启动模式的作用和用法等
ActivityTask是怎么进行设计的,以及Activity四种加载模式。
# Android中Activity四种启动模式和taskAffinity属性详解 #
android activity4种启动模式测试 一个演示启动模式的demo,结合博文,可以很方便的熟悉各种启动模式之间的差异。
Android中Activity的四种启动模式案例!
Android Activity 的四种启动模式 lunchMode 和 Intent.setFlags()
本节课程内容:Activity启动模式与跳转 Android中采用任务栈的形式来管Activity。栈是一种“先进后出”的数据结构。 Android中的任务栈 Task Stack in Android Activity的启动模式 Activity startup mode Activity...
Activity7大生命周期与4种启动模式(standard,singleTop,singleTask,singleIntance)
Android Activity的四种启动模式及其应用场景 https://blog.csdn.net/qq_31939617/article/details/80696728
通过案例深度解析activity的四种加载模式,深度分析Task栈。
activity的四种启动模式和onNewIntent的关系