Activity之间的跳转和四种启动模式

一、Activity的基础知识

1.每一个创建好的Activity都需要在manifests文件中进行注册。
在这里插入图片描述
这里就注册了2个activity!

2.打开app的时候会首先进入有intent-filter的活动,如Splash页面(一般打开app有广告页面持续几秒那种)就要设置intent-fliter

二、Activity之间的跳转

1.代码

Intent intent = new Intent(TestActivity.this, NewActivity.class);

//执行完改行代码后,页面就会从TestActivity跳转到NewActivity
startActivity(intent);

2.原理图(默认情况下为standard启动模式)在这里插入图片描述

三、Activity的四种启动模式

前情须知:我们当前打开看见的活动一定位于栈顶

1.standard启动模式(默认的启动模式)

  • 执行startActivity方法后,该启动模式活动进行压栈
  • 销毁当前活动(按返回键)则弹栈

2.singleTop启动模式(顶层合二为一)

  • 在当前活动继续启动当前活动则不会再压栈
  • 其余与standard启动模式一样

在这里插入图片描述
3.singleTask启动模式(去掉夹心)

  • 启动之前已经启动过的活动,不会再压栈,会一直弹栈到需要启动的活动
  • 其余与singleTop相同

在这里插入图片描述
4.singleInstance(单例)

  • 一个栈里面只有一个该活动
  • 有很多坑!!!

详细介绍看https://blog.csdn.net/Mr_JingFu/article/details/79077613

5.设置一个活动的启动模式方法

<activity
            android:name=".SingleTopActivity"
            android:label="@string/singletop"
            android:launchMode="singleTop" >
</activity>

在manifests文件中给活动设置launchMode即可,不设置默认为standard。

发布了7 篇原创文章 · 获赞 0 · 访问量 1701

猜你喜欢

转载自blog.csdn.net/k909397116/article/details/105754458
今日推荐