一、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。