面试准备-打卡第二天-Android篇

180 阅读1分钟

Activity的启动模式有哪些?

  • Standard模式

    默认情况下都是Standard模式

    一个叠加一个,符合先进后出的模式

  • Single Task模式:栈内复用

    当跳转到一个Single Task模式的Activity时:

    1. 判断当前任务栈内是否已经有该Activity
    2. 如果没有,则新建一个,并正常入栈
    3. 如果已经有了,则将该Activty上面的全部弹开,将该Activty暴露在最上面
  • Single Top模式:栈顶复用

    当跳到一个Single Top模式的Activity时:

    1. 判断当前任务栈的栈顶是否是该Activty
    2. 如果栈顶不是,则新建一个,并正常入栈
    3. 如果栈顶是,直接复用栈顶的Activty,不新建Activty
  • Single Instance模式

    当跳到一个Single Instance模式的Activity时:

    1. 如果发现某任务栈已经有该Activity时,直接复用,不新建
    2. 如果还没有,则直接新开辟一个栈,新建该Activity入栈。专门盛放该Activty独享一个任务栈