1. Android横竖屏切换时,Activity的生命周期的变化。
Activity的生命周期
/Files/cody1988/ActivityLifeCycle.rar
完整生命周期(the entire lifetime)
onCreate , onDestroy 在创建和销毁的时候调用。在onCreate中初始化全局资源,在onDestroy中销毁资源。
可见生命周期(the visible lifetime)
onStart , onStop 这是Activity可见,但是未必可交互即未必在最前面。维护着用户可见的资源。
前景周期(the foreground lifetime)
onResume , onPause 此时Activity在最前面,可与用户交互。一个Activity可在Resume与Pause之间频繁的切换例如设备休眠。因此这两个方法中只有相当轻量级的调用。
横竖屏切换时Activity的生命周期的变化与activity的configChanges的配置有关。
1. configChanges不配置
运行:
初始时TextView显示的内容为“Hello World, LifeCycle!”,点击Button
竖屏切换为横屏:
此时TextView的内容重新变为“Hello World, LifeCycle!”
横屏切换为竖屏:
2. 配置configChanges
<activity android:name=".LifeCycle"
android:configChanges="orientation"
android:label="@string/app_name">
……
</activity>
运行,点击Button
竖屏切换为横屏:
没有发生变化
横屏切换为竖屏:
没有发生变化
结论:横竖屏切换时Activity的生命周期与configChanges的配置相关。1.如果不配置,则要先销毁Activity再创建,销毁的过程中会调用onSaveInstanceState,
2.如果配置configChanges为Orientation则不销毁