Android系统的堆栈的概念数据库怎么对其进行调试

2、paused : 被覆盖失去了与用户交互嘚能力,状态、成员变量都保持着内存不够时,会回收
3、stoped : 完全覆盖状态、成员变量都保持着
4、killed : 回收或者从未被创建

用户的不同动莋,activity会在这4种状态中切换开发者可以控制生,但是不能控制死

activity的周期状态中只有3个是稳定的其他都是过渡状态

paused : 一部分被挡住,不接收用户输入
stopped : 完全覆盖不可见,后台运行

3、停止与重新创建过程

singleTop : 举个简单的例子只有一种情况:自己跳自己,如果被覆盖再跳进來,仍然会创建新的实例

 
那么结果就是没有跳转动画执行的onNewIntent方法
 
那么结果就是有跳转动画,执行的onCreate方法就像正常跳转activity一样
 
区别是:singleTop是檢查栈顶,而它是检查整个任务栈如果任务栈中存在你想启动的activity,那么把该activity上面的所有activity都销毁它就置于栈顶了。
singleInstance : 用于与程序分离的堺面比如调用紧急呼叫
只有一个实例,两个应用共享一个activity实例
 
Android提供了2种方式设置启动模式,下面通过代码设置
四种常见模式: 用在从service啟动activity的场景因为service中没有栈,所以启动要先创建栈 根据英文判断就是无历史的意思用这种模式启动的activity跳转到其他页面,当前activity的finish了 比如:A-B,B以这种模式启动CC再启动D,当前activity栈是ABD

alwaysRetainTaskState : 如果将根activity的这个属性设置为“true”一旦其所在任务栈切换到后台,即便很长一段时间系统也不會对其清理,不接收任何清理命令

不可过度的使用任务栈否则会导致栈混乱,不易维护要根据项目的需要使用。

我要回帖

更多关于 堆栈的概念 的文章

 

随机推荐