Android生命周期


Android中Activity的生命周期分两种情况: 1、典型情况下的生命周期,在用户参与的情况下,Activity所经过的生命周期 2、异常情况下的生命周期,指Activity被系统回收或者由于当前设备的Configuration发生改变从而导致的Activity被销毁重建。

典型情况下的生命周期:
1)onCreate:表示Activity正在被创建。 2)onRestart:表示Activity正在重新启动,当当前Activity从不可见重新变成可见状态时onRestart就会被调用。 3)onStart:表示Activity正在被启动,此时Activity已经可见,但是还位于后台没有出现在前台,还无法和用户交互。 4)onResume:表示Activity已经可见,并且出现在前台可以与用户交互。 5)onPause:表示Activity正在停止。 6)onStop:表示Activity即将停止。 7)onDestroy:表示Activity即将被销毁。 Android生命周期学习笔记_第1张图片
注意: 1)onStart、onStop与onResume、onPause的区别 onStart、onStop是从Activity是否可见这个角度来回调的。 onResume、onPause是从Activity是否位于前台这个角度来回调的。 2)从一个Activity(A)启动另一个Activity的周期(B) A:onPause B:onCreate B:onStart B:onResume A:onStop 3)在onPause方法中不能做耗时操作,否则启动另一个Activity时会用很长时间。



异常情况下的生命周期:

情况一:资源相关的系统配置信息发生改变时导致Activity被杀死并重新创建。 流程: 系统在发生异常情况下,会调用 onSaveInstanceState方法来保存当前Activity的状态,当Activity被系统重新创建时会把销毁前保存的Bundle对象作为参数传给onCreate方法和 onRestoreInstanceState。
注: onSaveInstanceState方法的触发时机: 1) 当用户按下HOME键时。 2) 长按HOME键,选择运行其他的程序时。 3) 按下电源按键(关闭屏幕显示)时。 4) 从activityA中启动一个新的activity时。 5) 屏幕方向切换时,例如从竖屏切换到横屏时。 总而言之,onSaveInstanceState的调用遵循一个重要原则,即当系统“未经你许可”时销毁了你的activity,则onSaveInstanceState会被系统调用,这是系统的责任,因为它必须要提供一个机会让你保存你的数据(当然你不保存那就随便你了)。
onRestoreInstanceState方法的触发时机:只有当Activity出现异常被销毁时且需要重新创建时才会调用。 onSaveInstanceState方法和onRestoreInstanceState方法“不一定”是成对的被调用的 情况二:资源内存不足导致低优先级的Activity被杀死 Activity优先级的划分: 1、前台Activity:正在和用户交互的Activity,优先级最高 2、可见但非前台Activity:比如Activity中弹出了一个对话框,导致Activity可见但是位于后台无法和用户直接交互。 3、后台Activity:已经被暂停的Activity,比如执行了onStop方法,优先级最低












更多相关文章

  1. Android开发设置Activity全屏与不全屏的方法
  2. Android中监听Home键的4种方法总结
  3. Android生命周期和启动模式
  4. Android 之Service的使用及生命周期
  5. Android ListView滑动后背景变黑问题解决方法
  6. Android Canvas绘图描述Android Canvas 方法总结

随机推荐

  1. Android应用框架无边界
  2. Android(安卓)中会出现的问题:This Androi
  3. Android(安卓)layout xml总结
  4. android 设置横屏竖屏
  5. activity以dialog形式显示
  6. Android(安卓)Studio项目应该提交哪些文
  7. Android(安卓)学习笔记 Thread (一) androi
  8. android菜鸟学习笔记12----Android控件(
  9. Android的第二个应用---电话拨号器
  10. android颜色对应的xml配置值,颜色表