Activity 生命周期

②资源内存不足导致优先级低的Activity被杀死
Activity优先级的划分和下面的Activity的三种运行状态是对应的。
(1) 前台Activity——正在和用户交互的Activity,优先级最高。
(2) 可见但非前台Activity——比如Activity中弹出了一个对话框,导致Activity可见但是位于后台无法和用户交互。
(3) 后台Activity——已经被暂停的Activity,比如执行了onStop,优先级最低。
3.Activity的三种运行状态
①Resumed(活动状态)
又叫Running状态,这个Activity正在屏幕上显示,并且有用户焦点。这个很好理解,就是用户正在操作的那个界面。
②Paused(暂停状态)
这是一个比较不常见的状态。这个Activity在屏幕上是可见的,但是并不是在屏幕最前端的那个Activity。比如有另一个非全屏或者透明的Activity是Resumed状态,没有完全遮盖这个Activity。
③Stopped(停止状态)
当Activity完全不可见时,此时Activity还在后台运行,仍然在内存中保留Activity的状态,并不是完全销毁。这个也很好理解,当跳转的另外一个界面,之前的界面还在后台,按回退按钮还会恢复原来的状态,大部分软件在打开的时候,直接按Home键,并不会关闭它,此时的Activity就是Stopped状态。
1.启动模式的类别
标准模式(standard)
栈顶复用模式(singleTop)
栈内复用模式(singleTask)
单例模式(singleInstance)
2.启动模式的结构——栈
面试常问题
Activity a 于 Activity B 传值
1 Intent
2广播
3 Eventbus
常见问题
1 activity A 到 activity B 生命周期
A onPause onCreate onStart onResume AonStop
2 横竖屏 切换 生命周期
onPause onSaveInstanceState onStop onDestroy
onCreate onStart onRestoreInstanceState
3 onStart onStop (可见 ) 为什么要生成两对 onResume onPause(前台 )
4 onSaveInstanceState onRestoreInstanceState 执行循序
在Activity由于异常情况下终止时 才调用
onSaveInstanceState onStop 之前
onRestoreInstanceState onStart 之后
网友评论