Android---Activity的四种启动模式

一、standard(标准模式):

无须指定launchMode属性,默认采用standard加载模式。

如:DActivity不断启动自身,不断新建DActivity实例,但TaskID一样,所以不会启动全新的Task;

按返回的时候,逐一从Activity栈顶删除Activity实例;

二、singleTop(Task栈顶单例模式):

指定launchMode=“singleTop”;

如:任务栈中是A---B---C---D,D在栈顶,通过D启动D,则不需要新建D实例,直接复用自己D实例,即调用onNewIntent()方法。且D启动D没有任何反应。

如果当前A---B---C,C启动D就需要创建实例。这里和模式一 一致。

三、singleTask(Task内单例模式):

不能有多个实例的存在,只能有一个实例;

如果当前已经存在D实例,直接复用D实例,即直接调用D的onNewIntent()方法。

(1)D不存在:创建DActivity实例,并放于栈顶;

(2)D存在:

①要启动的D位于栈顶,则直接复用D实例,即直接调用D的onNewIntent()方法;

②D不在栈顶,则将D上面的Activity移除栈顶(将D放于栈顶);

四、singleInstance(全局单例模式):

无论在哪个Task中启动DActivity,都只会创建一个D实例,并启用全新的Task栈加载该DActivity实例;

①存在:无论位于哪个应用程序,哪个Task中,将Activity所在Task转前台,从而使它显示;

②不存在:创建;


更多AndroidiOSPythonJavaMySQL的文章,请点击:

http://blog.csdn.net/jamiecheung


更多JavaUnity3D的文章,请点击:

http://blog.csdn.net/u010841622

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值