Activity四种启动模式

1.需求

1.1理解activity的四种启动模式
——-1 standard
——-2 singleTop
——-3 singleTask
——-4 singleInstance

2.实现

2.1研究方式

编写四个分别以standard,singleTop,singleTask,SingleInstance模式启动的activity1 activity2 activity3 activity4,并输出日志查看结果。实现的程序页面如下,每个页面都有启动其他activity的按钮,并有当前的栈id 以及activity的id。

这里写图片描述

2.2standard模式

standard模式:每次启动都创建一个新的activity

在启动程序之后在activity1内点击按钮启动2,再从2内启动1,日志如下,可以看到activity1再一次执行了oncreate函数,也就是重新创建了一个activity1对象。

这里写图片描述

2.3singleTop模式

singleTop模式:singleTop如果在栈顶就重用此activity实例,否则重新创建一个。

可以由下图看到,每次使用activity2启动自身时的,其使用的都是同一个activity,并且会调用activity2的onpause与onresume方法

这里写图片描述

2.4singleTask模式

singleTask模式:如果栈中有实例,则重此实例,若不在栈顶需将其他activity出栈。

启动activity3此时栈有了activity3的实例,再从这里启动其他activity之后,再一次启动activity3,可以看到没有重新创建一个activity3, 并且activity1被销毁了而不是暂停,也就是将activity1出栈,并且activity3成为了栈顶的activity

这里写图片描述

2.5singleInstance模式

singleInstance模式:这个模式会启动一个新的ActivityStack并且里面只有一个activity每次调用时都会使用这个activity。

由日志看到再打开也不会创建新的activity4

这里写图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值