activity的启动模式及应用场景

版权声明:本文为延成原创文章,转载请标明出处

1 standard 标准模式,默认

每次跳转系统都会在 task 中生成一个新的 Activity 实例,并且放于栈结构的顶部,当我们按下后退键时,才能看到原来的 Activity 实例.

理解:一个任务栈中可以有多个FirstActivity的实例对象。
应用场景:一般都是standard模式

2 singleTop 栈顶复用模式

如果Activity的实例不在栈顶,那么就会创建,如果已经在栈顶了,就不会创建了,但可以创建其它种类的实例。

理解:当一个任务栈栈顶已经是FirstActivity的时候,就无法重新启动创建一个FirstActivity,但是依然可以创建其他种类的Activity。
应用场景:消息推送,给通知跳转的Activity设置

3 singleTask 栈内复用模式

如果Activity没有创建任何实例,那么启动时会创建。如果已经创建了一个实例,那么启动时返回到该Activity而不会再创建Activity.(保证内存中只有一个实例)

理解:一个任务栈中只能有一个FirstActivity实例,但是可以有多个其他Activity实例,当其他Activity启动FirstActivity时,系统会将FirstActivity上面的所有Activity实例给干掉!
应用场景:常见于跳转到主界面

4 singleInstance 单实例模式

在单独的任务中创建该Activity的实例,然后再也不会创建第二个实例了,以后的每次启动该Activity,都是把该Acitvity所在的栈显示至前台。(保证整个系统的内存都只有一个该Activity的实例)

理解:一个FirstActivity独享一个任务栈,不允许其他Activity进来。
应用场景:呼叫来电界面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值