美文网首页
理解Activity的启动模式

理解Activity的启动模式

作者: Leon_w | 来源:发表于2018-07-24 11:26 被阅读0次

1、Activity的启动模式有哪几种,分别用于什么场景?

activity的启动模式分为4种 standard 标准模式, singleTop 栈顶复用模式,singleTask栈内复用模式,SingleInstance 单实例模式
使用方式:在AndroidManifest 配置文件中配置

      <activity android:name=".MainActivity"
            android:launchMode="standard">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>

standard 标准模式:

说明: standard 是Activity 的标准模式,如果在AndroidManifests 没有写启动模式,则默认为standard 模式.每次启动一个Activity都会又一次创建一个新的实例入栈,无论这个实例是否存在
生命周期: standard 启动的Activity,生命周期为正常的生命周期 :onCreate, onStart,onpash,onStop,onDestory
举例: 目前有ABC三个Activity A在栈顶,则此时需求启动A 会按照正常的生命周期 不会复用栈顶,而是会重新启动一个A

singleTop 栈顶复用模式:

说明: singletop 的意思是复用栈顶的Activity,如果启动栈顶的Activity 不用重复创建Activity,如果该Activity已经存在但不是在栈顶,则该Activity会被重新创建
生命周期: singletop 的生命周期,如果Activity在栈顶则不用调用onCreate ,onStart .其余非在栈顶的是正常的生命周期
举例: 目前有ABC三个Activity A在栈顶,则此时的需求是启动A ,不会走onCreate,onstart.如果A不在栈顶,b在栈顶,b启动A则A是正常的生命周期

singleTask 栈内复用模式

说明:Activity在该模式下启动,实际启动的是一种单例的模式.singleTask模式下启动分为两种状态.1.启动singleTask下的Activity如果他找的任务栈存在,则activity 会像singletop一样复用这个Activity 不会调用它的onCreate,onStart .并拿到栈顶.2.如果他找的任务栈不存在的话,它会重新创建一个Activity 这时候的Activity是正常的生命周期
生命周期: 启动singleTask下的Activity如果他找的任务栈存在,则activity 会像singletop一样复用这个Activity 不会调用它的onCreate,onStart .并拿到栈顶.如果他找的任务栈不存在的话,它会重新创建一个Activity 这时候的Activity是正常的生命周期
举例: 下面有一个s1的任务栈.该任务栈里面有ABC三个Activity

  • 有一个D的Activity 要以singTask 的模式启动,该Activity想要寻找的不是s1任务栈,而是想找个新的s2任务栈,则系统会为它创建一个新的任务栈,而D按照正常的生命周期运行
  • 有一个D的Activity 要以singTask 的模式启动,该Activity想要寻找的是s1任务栈.因为是A启动的D .则该任务栈里会重新创建一个D 的Activity
  • 还是这个D 这次A又一次的调起D 该任务栈里已经有了D ,则D不会重新调用,而是会复用.

相关文章

  • 第三周 理解Activity的启动模式

    理解Activity的启动模式 问题1. Activity的启动模式有哪几种,分别用于什么场景? Activity...

  • Activity的启动模式

    Android学习计划# #第三周# 话题: 理解Activity的启动模式。1、Activity的启动模式有哪几...

  • 第三周 Activity 的启动模式

    话题:理解 Activity 的启动模式。 1、Activity 的启动模式有哪几种,分别用于什么场景?2、清晰地...

  • Android面试知识点

    Android Activity Activity启动模式 standard 标准启动模式,也是activity的...

  • 理解Activity启动模式

    Activity启动模式一共四种 standard singleTop singleTask singleInst...

  • Activity的启动模式

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

  • 理解Activity的启动模式

    Activity的启动模式有哪几种,分别用于什么场景? standard:标准模式 系统的默认模式。一种典型的多实...

  • Activity启动模式的理解

    Activity启动模式有四种 standard 默认启动模式。比如启动ABCD,那Activity栈中顺序也是A...

  • Activity启动模式的理解

    前言 我们知道,Activity的维护是在任务栈来管理的,而栈的数据是先进后出,默认情况下,当我们启动一个Acti...

  • 理解Activity的启动模式

    1、Activity的启动模式有哪几种,分别用于什么场景? activity的启动模式分为4种 standard ...

网友评论

      本文标题:理解Activity的启动模式

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