横竖屏切换


1 切换到横屏
onSaveInstanceState
onPause
onStop
onDestroy
onCreate
onStart
onRestoreInstanceState
onResume


2 切换到竖屏,销毁了两次
onSaveInstanceState
onPause
onStop
onDestroyonCreate
onStart
onRestoreInstanceState
onResume
onSaveInstanceState
onPause
onStop
onDestroy
onCreate
onStart
onRestoreInstanceState
onResume




3 修改AndroidManifest.xml,把该Activity添加 android:configChanges="orientation",切横屏,只销毁一次。


onSaveInstanceState
onPause
onStop
onDestroy
onCreate
onStart
onRestoreInstanceState
onResume


4 再切回竖屏,发现不会再打印相同信息,但多打印了一行onConfigChanged


onSaveInstanceState
onPause
onStop
onDestroy
onCreate
onStart
onRestoreInstanceState
onResume
onConfigurationChanged


5 更改 android:configChanges="orientation" 改成 android:configChanges="orientation|keyboardHidden",切横屏,就只打印onConfigChanged


onConfigurationChanged


6 切回竖屏


onConfigurationChanged
onConfigurationChanged


总结:


1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次


2、设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次


3、设置Activity的android:configChanges="orientation|keyboardHidden"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法。(执行这个方法,必须设置sdk version 大于等于13.0)



附:设置android:screenOrientation="portrait"则无论手机如何变动,拥有这个属性的activity都将是竖屏显示。
同样的,android:screenOrientation="landscape",为横屏显示。

更多相关文章

  1. android录音和得到音量
  2. Android(安卓)通用标题栏之组合控件
  3. Android深入浅出之Binder机制
  4. android 随手记 SQLITE代码 直接能用
  5. android视频截图
  6. android实现静默安装demo
  7. android 全屏幕
  8. Android(安卓)计算控件尺寸
  9. Android(安卓)GridView,Gallery动态更新数据

随机推荐

  1. android 调试的一些小技巧
  2. Android NDK: No rule to make target
  3. Android 客户端选择响应最快的一个服务器
  4. android中网络图片的显示
  5. Android Studio报错: NDK integration is
  6. Android实用代码大全
  7. Android(安卓)MVVM之Room学习记录,从零开
  8. android 实现3d旋转
  9. AVD无法启动解决方案
  10. 调用android的getColor()方法出现 java.l