Activity加载过程笔记(一)

Activty栈

我们是无法的控制ACtivity的状态的,Activity是通过一种Activity栈的我方式来管理Activity的,一个Activity的实例的状态决定他在栈中的位置。处于前台的Activity总是处于栈的最顶端,当前台的Activity因为异常或者其他的原因被销毁的时候,处于栈的第二层的Activity将被激活,上浮到栈顶,当新的Activity启动入站的时候,原来的Activity会被压入到栈的第二层,一个Activity在栈中的位置变化反应了他在不同的状态间的转换。

Activity的4种加载模式

Android的多个Activity 的开发中,Activity之间的跳转可能需要多种的方式,有时候可能普通的生成一个实例,有的时候希望跳转到原来的某个Activity的实例,而不是生成大量的重复的Activity,加载模式便是决定以那种方式来启动一个Activity

1、standard:标准模式,调用startActivity方法后产生一个新的实例

2、singleTop:如果已经有一个实例位于Activity栈的顶部,就不产生新的实例,而只是调用ACtivity的newInstance()方法,如果不是位于栈顶,则产生一个新的的实例。

3、singleTask:会有一个新的task中产生这个实例,每次调用都会使用这个,不会产生新新的实例了。

4、singleInstance:这个是跟singleTask基本上一样,区别是这个模式下的Activity实例所处的task中,只能有这个Activity实例,不能有其他的实例。

这些启动模式可以在AndroidMainfest.xml文件中的<activity>中的launchMode的属性进行设置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值