Activity生命周期再分析

来源:互联网 发布:微信小程序php实例 编辑:程序博客网 时间:2024/04/29 17:28

这里主要是说在理解了正常activity生命周期后在android的各个版本中的差异

正常的生命周期就不用说了
下面说下横竖屏切换时的生命周期
在不配置configChange属性的时候

竖屏->横屏
onPause -> onStop -> onDestroy -> onCreate -> onStart -> onResume

横屏->竖屏 也一样

这里扩展下
在targetSDKVersion设置为11之前
完整的调用是这样的
onSaveInstanceState -> onPause -> onStop -> onDestroy -> onCreate -> onStart -> onRestoreInstanceState -> onResume

在targetSDKVersion设置为11之后(包括11)变成了
onPause -> onSaveInstanceState -> onStop -> onDestroy -> onCreate -> onStart -> onRestoreInstanceState -> onResume

在targetSDKVersion设置为13之前
configChange 设置为oriantation即可不调用生命周期方法而是调用onConfigrationChanged方法
在targetSDKVersion设置为13之后(包含13)
configChange 设置为oriantation|screenSize才能不调用生命周期方法

另外简单说下应用在遇到异常后会怎么样

以下情况为应用中不做UncaughtExceptionHandler处理

如果是在activity onCreate onStart onResume 阶段 遇到异常,应用会直接退出

如果在点击button等事件中遇到异常是当前activity退出

如果是在activity onPause onStop onDestroy 阶段 遇到异常,要进入的activity和当前activity会退出

如果是在子线程中遇到异常,整个应用退出

为什么呢(暂时还不知道怎么回答,日后再补充吧)

0 0
原创粉丝点击