Android中堆栈的处理

你将了解:

  • 什么是栈
  • 改变Activity任务栈的方法
  • Activity有哪些启动模式

一、什么是栈

在Android中栈有自己的结构特点

  • 后进先出
  • 位于栈顶处于焦点状态,用户可见,当按下back键栈内的Activity会一个一个的出栈并调用onDestory()方法
  • 栈中没有Activity系统将回收这个栈,
  • 每个App默认只有一个栈以APP包名来命名。

二、改变Activity任务栈的方法

  • 改变清单文件xml方式
    android:launchMode="standard|singleInstance|singleTask|singleTop"来控制Acivity任务栈。

三、Activity启动模式对比

在对比之前我统一说一哈(针对本小节)
三回调表示:
Activity的启动三回调(onCreate()->onStart()->onResume())
Activity用A表示

A启动模式A栈内情况启动A的处理方式
standard(标准模式)不管栈内A存在与否创新A压入栈顶,三回调执行
singleTop(栈顶复用模式)栈内有A,A位于栈顶(使用方式1),A不位于栈顶(方式同standard)方式1:不重建A三回调不执行,A的onNewIntent()被回调,
singleTask(栈内复用模式)有A(方式1)方式1:A被拉到栈顶onNewIntent()并清理在当前A上面的所有A(先检查是否有栈,无就先建栈,)
singleInstance(单栈模式)一A一栈A单独位于一个任务栈,启动A都不会重创A复用就是
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值