美文网首页
也说Activity任务栈

也说Activity任务栈

作者: 东风四幺 | 来源:发表于2016-12-13 10:04 被阅读2次

一、启动模式

我们知道Activity有4种启动模式(launchMode):

  1. standard
  2. singleTop
  3. singleTask
  4. singleInstance

我们可以在Androidmanifest.xml里面为<Activity>配置android:launchMode为以上四种之一即可。

standard

standard 是默认的启动模式,可以不指定android:launchMode
利用startActivity启动该Activity,不管栈里有没有该Activity的实例,都会创建新的实例

standard模式示意图.png

(引用图片)

singleTop

为<activity>指定属性android:launchMode="singleTop",系统就会按照singleTop启动模式处理跳转行为。
当目标Activity在站内有实例且位于栈顶时,再次启动不会创建新的实例,而是直接使用栈顶的实例。

FirstActivity位于栈顶,再次启动不会创建新实例.png

当目标Activity在栈内有实例,但不是位于栈顶时,再次启动就会创建新的实例。

从SecondActivity启动FirstActivity, FirstActivity创建新的实例.png

SingleTask

在上面的基础上我们修改FirstActivity的属性android:launchMode="singleTask"。
当目标activity在栈内有实例时,就会清除该实例上面的所有其他Activity实例, 使目标activity实例位于栈顶,并显示在幕前。

从SecondActivity跳转到FirstActivity时,SecondActivity出栈,原来的FirstActivity位于栈顶.png

SingleInstance

这是一种特殊的启动模式,目标Activity会在新的任务栈中创建并且保证不再有其他的Activity进入。

二、Intent Flags

...(待续)

相关文章

  • 也说Activity任务栈

    一、启动模式 我们知道Activity有4种启动模式(launchMode): standard singleTo...

  • 【原创】Activity个人总结

    Activity任务栈 Android中管理Activity的方式:Activity任务栈Activity的四种状...

  • Activity-四种启动模式及使用方法

    一、任务栈(或叫回退栈) 说到Activity的启动模式,必须先了解Activity的任务栈。 android任务...

  • Activity启动模式

    主要介绍Activity任务栈以及Activity启动模式,类似于这样的东西的使用 任务栈是什么 任务栈Task,...

  • Activity的启动与管理之图记表查

    Activity的管理——任务栈 任务栈 Android Task 是用来存放Activity实例的容器,Andr...

  • Android面试(一)Activity

    Activity简介 Activity生命周期 Activity任务栈 Activity起动 Activity简介...

  • 2018-04-11

    Android之Activity系列总结(二)--任务和返回栈 任务和返回栈 应用通常包含多个Activity。每...

  • android 退出登录

    1 清除缓存 2 清除当前activity任务栈,然后新起一个任务栈。 然后activity栈管理的话,用来做退出...

  • Activity 启动方式

    Activity四种启动模式: TaskAffinity:任务栈名,给activity指定任务栈名后启动的acti...

  • Activity任务栈

    通过Acitivty的xml标签来改变任务栈的默认行为 使用android:launchMode="standar...

网友评论

      本文标题:也说Activity任务栈

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