activity启动模式

种类

  • standard
  • singleTop
  • singleTask
  • singleInstance

activity task stack:任务栈,将用户进入过的activity以栈的形式存放

standard

该模式启动的activity会默认进入启动他的activity所属的任务栈中,如果启动者是非Activity类型的Content并没有任务栈,则需要为启动的activity创建一个任务栈(给intent设置flags)

singleTop

若被启动的activity的实例不在任务栈栈顶则在任务栈栈顶创建,若已经在栈顶就不会在创建了,activity生命周期不会被调用,但onNewIntent方法会被调用

singleTask

判断栈中是否存在该activity的实例,如果存在,则清除该实例之前所有实例让其成为栈顶实例,如果不存在,则创建该activity的实例并压入栈中

singleInstance

创建该activity实例之前先判断所有任务栈中是否存在该实例的任务栈,如果存在则将任务栈中原有的实例抛弃并调用onNewIntent方法,将该实例压入栈中,如果不存在该实例的任务栈,则创建一个任务栈将该实例压入栈中(确保该activity只有一个实例)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值