美文网首页
Activity四种启动方式

Activity四种启动方式

作者: 東東_Katrina | 来源:发表于2019-06-25 22:39 被阅读0次

Android的activity有四种启动方式,standard、singleTop、singleTask、singleInstance。
task可以跨应用、跨进程。

1、standard

标准启动模式,也是系统默认启动模式。该模式下启动同一个activity,会在栈中产生多个该activity的实例,每个实例都会处理一个intent对象。如果Activity A的启动模式为standard,在A中再次启动Activity A,会在A的上面再次启动一个Activity的实例。当前栈中的状态为 A --> A。

2、singleTop

如果启动的activity已存在于任务栈的栈顶,那么再启动这个activity不会创建新的实例,而是重用栈顶的那个实例,并且会调用该activity的onNewIntent方法。

3、singleTask模式。

如果存在这样的一个任务,则检查在这个任务中是否已经有了一个SecondActivity的实例,
如果已经存在一个SecondActivity的实例,则会重用这个任务和任务中的SecondActivity实例,将这个任务调到前台,清除位于SecondActivity上面的所有Activity,显示SecondActivity,并调用SecondActivity的onNewIntent();
如果不存在一个SecondActivity的实例,会在这个任务中创建SecondActivity的实例,并调用onCreate()方法
如果不存在这样的一个任务,会创建一个新的affinity为com.jg.zhang.androidtasktest.second的任务,并且将SecondActivity启动到这个新的任务中

4、singleInstance模式

以singleInstance模式启动的Activity具有全局唯一性,即整个系统中只会存在一个这样的实例。
以singleInstance模式启动的Activity具有独占性,即它会独自占用一个任务,被他开启的任何activity都会运行在其他任务中。
被singleInstance模式的Activity开启的其他activity,能够开启一个新任务,但不一定开启新的任务,也可能在已有的一个任务中开启。取决于开启的activity的taskAffinity任务是否存在。

待扩展问题:
1、Application,Task和Process的区别与联系
2、allowTaskReparenting
3、intent action隐式启动
参考文章:
1、Android中Activity四种启动模式和taskAffinity属性详解

相关文章

  • Android面试问题及回答

    1.Activity的四种启动方式 Activity的启动模式分为四种。(standard、singleTop、s...

  • 2020-11-06

    1.Activity的四种启动方式 Activity的启动模式分为四种。(standard、singleTop、s...

  • Android四大组件之Activity

    启动activity的两种方式 startActivitystartActivityForResult 四种启动模...

  • activity 四种启动方式

    activity启动有四种方式:stardard,singleTop,singleTask,singleInsat...

  • Activity四种启动方式

    Android的activity有四种启动方式,standard、singleTop、singleTask、sin...

  • Activity--启动模式

    1.Activity 启动模式 四种启动模式Activity的启动模式有四种:standard、singleTop...

  • Activity启动模式

    一:简单的概念 四种启动模式: Activity启动模式设置: 在清单文件中, Activity的四种启动模式: ...

  • 四种启动模式

    Activity启动方式有四种: (1)standard: 每次启动一个Activity都会又一次创建一个新的实例...

  • Activity的启动模式

    启动模式 Activity共有四种启动模式,分别是 standard Activity的默认启动模式,每次启动都会...

  • Activity启动模式

    Android提供了四种Activity启动方式: 标准模式(standard) 栈顶复用模式(singleTop...

网友评论

      本文标题:Activity四种启动方式

      本文链接:https://www.haomeiwen.com/subject/nndiqctx.html