美文网首页
Activity启动模式

Activity启动模式

作者: 果果人8023 | 来源:发表于2018-03-23 17:09 被阅读0次

启动模式

image

a、Standard模式

  • 特点:创建一个栈内就新加一个

  • 描述

    Standard是Activity 默认启动模式,每次启动一个Activity都会重新创建一个新的Activity加入栈中
    
  • 举例

栈内初始顺序
  C 页面(顶)
  B 页面
  A 页面
C页面内点击跳转至C页面
  C 页面(顶)
  C 页面
  B 页面
  A 页面

b、SingleTop模式

  • 特点:同类型时栈顶复用,不同类型时按照Standard模式

  • 描述

     SingleTop模式存在两种情况:
     1,当需要创建的Activity已经处于栈顶时(例如C页面跳转至C页面),此时不会再重新创建,而是直接服用栈顶的Activity
     2,当需要创建的Activity不是处于栈顶时,此时会跟Standard模式一样,新创建一个Activity放至到栈顶
    
  • 举例1

栈内初始顺序
  C 页面(顶)
  B 页面
  A 页面
C页面内点击跳转至C页面
  C 页面(顶)
  B 页面
  A 页面
  • 举例2

栈内初始顺序
  C 页面(顶)
  B 页面
  A 页面
C页面内点击跳转至A页面
  A 页面(顶)
  C 页面
  B 页面
  A 页面

c、SingleTask模式

  • 特点:同类型的在栈内只有一个

  • 描述

     SingleTask模式存在两种情况:
     1,当需要创建的A Activity不存在时,此时会跟Standard模式一样,新创建一个Activity放至到栈顶
     2,当需要创建的A Activity已经存在,此时处于此A Activity栈顶所有的Activity都会被移出栈(finish),需要创建的Activity同名的A Activity处于栈顶(Activity不会重新创建)
    
  • 举例

栈内初始顺序,A页面启动模式为SingleTask
  C 页面(顶)
  B 页面
  A 页面
C页面内点击跳转至A页面,B、C页面被移除
  A 页面(顶)

d、SingleInstance模式

  • 特点:具有所有SingleTask特性,并且会独立一个Task(一个栈内可以有多个Task)

  • 描述

  • 举例

栈内初始顺序,C页面启动模式为SingleInstance
  B 页面(顶)
  A 页面
B页面内点击跳转至C页面,开启两个Task
  Task1                          Task2
  B 页面(顶)                     C 页面(顶)
  A 页面

相关文章

网友评论

      本文标题:Activity启动模式

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