Activity的启动模式

一、Activity的启动模式有哪几种,分别用于什么场景
首先需要知道activity是以任务栈的方法存储的,接下来描述启动模式的区别。
1.stand
该模式是activity的默认模式,打开一个activity就将其放在任务栈的顶部,一个一个的堆叠。不会管任务栈内是否已经存在。
这是最常用的启动模式,没有什么意外都是以此模式启动
2.singleTask
该模式是栈内复用模式,如果在任务栈中已经存在该activity的实例,那么就会将其取出放到栈顶,而且该模式会清除在其之上的实例。并且并不会重建当前activity,而是会走onNewIntent的方法
3.singleTop
该模式是栈顶复用模式,如果该实例正在任务栈的栈顶,那么就会直接使用,而不会重新创建实例,一样会调用onNewIntent方法
4.singleInstance
独立栈模式,以该模式启动会将此实例放入一个新的任务栈里,只有这一个实例,会调用onNewIntent的方法。
二、onNewIntent 和 onConfigurationChanged
1.onNewIntent
当activty以singleTop,singleTask,singleInstance启动,如果存在当前的实例,就会调用activity的onNewIntent.如果以startactivityresult启动,就不会调用onNewIntent,而是会重建
2.onConfigurationChanged
该方法会在系统配置发生改变(软键盘,字体,屏幕方向)的时候调用,前提是你在manifast文件里配置相应的属性. 如果没有,那么该activity会销毁重建

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值