这里主要是说在理解了正常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会退出
如果是在子线程中遇到异常,整个应用退出
为什么呢(暂时还不知道怎么回答,日后再补充吧)