当前位置: 首页> 健康> 知识 > Android中Activity生命周期详解

Android中Activity生命周期详解

时间:2025/7/18 12:16:17来源:https://blog.csdn.net/qq_45077023/article/details/140425138 浏览次数:0次

目录

    • 一 典型情况
    • 二 异常情况
      • 2.1 系统配置改变
      • 2.2 系统资源不足kill掉低优先级activity

Activity是四大组件之一,也是接触的最多的,一般来说Activity经常是与用户交互的界面。

一 典型情况

先看下google官网,其实已经很清楚了
在这里插入图片描述
再来个总结

  • onCreate,正在被创建,一次,可以做初始化工作,比如setContentView来加载界面资源
  • onStart 正在启动,可见了但是没在前台没获得焦点,无法与用户交互
  • onResume 到前台获得焦点,可以与用户交互
  • onPause 正在停止,可以做一些轻量级的操作不影响下一个Activity的onResume方法
  • onStop 即将停止,Activity不可见
  • onDestory 摧毁,可以做一些资源回收和释放的操作
  • onRestart 正在重新启动。由stop触发。

最后,前六个都是比较好理解的,就是最后一个onRestart,我以前不太理解。这次看了下官方描述
在这里插入图片描述
调用时机在stop方法的后面,并且当activity重新显示的时候调用,之后调用start和resume。

二 异常情况

2.1 系统配置改变

比如横竖屏切换下,如果不做特殊处理,activity会销毁到重新创建。系统会调用onRestoreInstanceState 来保存当前activity的状态,是onSaveInstanceState 里面的bundle对象,如果onSaveInstanceState不为空,就可以在onCreate里面进行一个重建。
另外,保存view和恢复view本质也是委托思想,当activity被意外终止,activity调用onSaveInstanceState来保存数据,会委托window,window再委托他上面的顶层容器,比如DecorView,顶层容器再来通知他的所有子元素来进行一个保存。

2.2 系统资源不足kill掉低优先级activity

优先级:前台activity > 可见但不处于前台 > 后台

若想横竖屏切换的时候不重新启动,可以对configChanges属性进行配置

关键字:Android中Activity生命周期详解

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: