美文网首页
Activity 启动模式

Activity 启动模式

作者: cuzzy | 来源:发表于2019-05-30 15:52 被阅读0次

Activity的四种启动模式

  1. Standard 无需配置默认模式 Activity可以有多个实例 每次启动都会创建新的实例 无论是否已
    存在该类的实例
  2. SingleTop 类似于标准模式 主要区别在于当一个SingleTopActivity已经位于栈顶时 再去启动时
    不会再次创建新的实例
  3. SingTask 栈中只能有一个实例 如果当前Activity位于栈顶则不会重新创建 如果不在栈顶 则会
    使之上的Activity出栈 以重新位于栈顶
  4. SingleInstance 栈中只存在一个该Activity的实例 singleInstance模式也是单例的,但
    和singleTask不同,singleTask只是任务栈内单例, 系统里是可以有多个
    singleTask Activity实例的,而singleInstance Activity在整个系统里只有一个实例,启动一singleInstanceActivity时,系统会创建一个新的任务栈,并且这个任务栈只有他一个Activity。

如何设置启动模式

  1. 清单文件中针对每个Activity配置属性。
  2. 通过Intent的Flag来设置Activity的启动模式

清空任务栈

  • clearTaskOnLaunch
    clearTaskOnLaunch在每次返回该Activity时,都将该Activity之上的所有Activity都清除。

  • finishOnTaskLaunch
    通过这个属性,当离开这个Activity所处的Task时,那么用户在返回时,该Activity就会被finish掉

  • alwaysRetainTaskstate
    如果将Activity的这个属性设置为true,那么该Activity所在的Task将不接受任何清理命令,
    一直保持当前Task状态。

相关文章

网友评论

      本文标题:Activity 启动模式

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