赘述一下,Activity生命周期 有 onCreat(),onPause(),onStart(),onResume(),onStop(),onDestroy();
建一个Activity生命周期测试项目,测试结果如下:
1.Activity 启动
05-08 03:03:47.638: E/MainActivity(940): MainActivity===onCreate
05-08 03:03:48.048: E/MainActivity(940): MainActivity===onStart
05-08 03:03:48.067: E/MainActivity(940): MainActivity===onResume
05-08 03:03:48.128: E/MainActivity(940): MainActivity===onAttachedToWindow
2. 从Activity跳转到Activity2 调用 startActivity
05-08 03:24:54.218: E/MainActivity(1194): MainActivity===onPause
05-08 03:24:54.328: E/MainActivity2(1194): MainActivity2===onCreate
05-08 03:24:54.658: E/MainActivity2(1194): MainActivity2===onStart
05-08 03:24:54.658: E/MainActivity2(1194): MainActivity2===onResume
05-08 03:24:54.838: E/MainActivity2(1194): MainActivity2===onAttachedToWindow
05-08 03:24:56.092: E/MainActivity(1194): MainActivity===onStop
3. 执行返回键
05-08 03:27:26.588: E/MainActivity2(1194): MainActivity2===onPause
05-08 03:27:26.649: E/MainActivity(1194): MainActivity===onRestart
05-08 03:27:26.649: E/MainActivity(1194): MainActivity===onStart
05-08 03:27:26.649: E/MainActivity(1194): MainActivity===onResume
05-08 03:27:27.710: E/MainActivity2(1194): MainActivity2===onStop
05-08 03:27:27.717: E/MainActivity2(1194): MainActivity2===onDestroy
3.执行Home键
05-08 03:27:57.597: E/MainActivity(1194): MainActivity===onPause
05-08 03:27:59.067: E/MainActivity(1194): MainActivity===onStop
4.执行唤醒操作
05-08 03:28:18.618: E/MainActivity(1194): MainActivity===onRestart
05-08 03:28:18.618: E/MainActivity(1194): MainActivity===onStart
05-08 03:28:18.618: E/MainActivity(1194): MainActivity===onResume
5.执行startActivityForResult跳转后,按返回键
05-08 03:31:05.667: E/MainActivity2(1266): MainActivity2===onPause
05-08 03:31:05.728: E/MainActivity(1266): MainActivity===onActivityResult
05-08 03:31:05.748: E/MainActivity(1266): MainActivity===onRestart
05-08 03:31:05.748: E/MainActivity(1266): MainActivity===onStart
05-08 03:31:05.748: E/MainActivity(1266): MainActivity===onResume
05-08 03:31:06.769: E/MainActivity2(1266): MainActivity2===onStop
05-08 03:31:06.769: E/MainActivity2(1266): MainActivity2===onDestroy
6. 横竖屏切换时,(android:configChanges 未设置,默认状态)
05-08 04:41:29.298: E/MainActivity(1921): MainActivity===onPause
05-08 04:41:29.298: E/MainActivity(1921): MainActivity===onSaveInstanceState
05-08 04:41:29.308: E/MainActivity(1921): MainActivity===onStop
05-08 04:41:29.318: E/MainActivity(1921): MainActivity===onDestroy
05-08 04:41:29.478: E/MainActivity(1921): MainActivity===onDetachedFromWindow
05-08 04:41:29.668: E/MainActivity(1921): MainActivity===onCreate
05-08 04:41:29.998: E/MainActivity(1921): MainActivity===onStart
05-08 04:41:29.998: E/MainActivity(1921): MainActivity===onRestoreInstanceState
05-08 04:41:30.008: E/MainActivity(1921): MainActivity===onResume
05-08 04:41:30.188: E/MainActivity(1921): MainActivity===onAttachedToWindow
android:configChanges 属性包括
1. orientation :屏幕在纵向和横向间旋转,
2. keyboardHidden:键盘显示或隐藏 ,
3.fontScale:用户变更了首选的字体大小
4.locale : 用户选择了不同的语言设定,
5. keyboard :键盘类型变更
6. touchscreen或navigation:键盘或导航方式变化
7.横竖屏切换时,android:configChanges = orientation 设置了这个属性横竖屏切换的时候会执行
onConfigChanged 方法来代替(模拟器好像不行~,不知道原因)