怎样做站长建网站,界面设计包括哪些内容,广州白云手机网站建设,培训机构需要什么资质关于Android手机横竖屏切换时Activity的生命周期问题#xff0c;网上有很多相似的文章#xff0c;大多数都是说明在竖屏切换横屏时Activity会重启一次#xff0c;而在横屏切换竖屏时Activity会重启两次。 我本身不太理解这样设计的意义#xff0c;并且觉得新版本会解决这个… 关于Android手机横竖屏切换时Activity的生命周期问题网上有很多相似的文章大多数都是说明在竖屏切换横屏时Activity会重启一次而在横屏切换竖屏时Activity会重启两次。 我本身不太理解这样设计的意义并且觉得新版本会解决这个问题所以做了一项测试测试环境为Android 7.0模拟器。 测试首先创建一个新的Activity并在其各个生命周期方法内打印日志并执行如下操作得到结果 在targetSdkVersion的值大于12时 Activity启动 I/System.out: onCreate
I/System.out: onStart
I/System.out: onResume 竖屏切换为横屏 I/System.out: onConfigurationChanged
I/System.out: onPause
I/System.out: onSaveInstanceState
I/System.out: onStop
I/System.out: onDestroy
I/System.out: onCreate
I/System.out: onStart
I/System.out: onRestoreInstanceState
I/System.out: onResume 横屏切回竖屏 I/System.out: onConfigurationChanged
I/System.out: onPause
I/System.out: onSaveInstanceState
I/System.out: onStop
I/System.out: onDestroy
I/System.out: onCreate
I/System.out: onStart
I/System.out: onRestoreInstanceState
I/System.out: onResume 配置android:configChangesorientation|screenSize后竖屏切换为横屏 I/System.out: onConfigurationChanged 配置android:configChangesorientation|screenSize后横屏切回竖屏 I/System.out: onConfigurationChanged 在targetSdkVersion的值小于或等于12时 Activity启动 I/System.out: onCreate
I/System.out: onStart
I/System.out: onResume 竖屏切换为横屏 I/System.out: onConfigurationChanged
I/System.out: onPause
I/System.out: onSaveInstanceState
I/System.out: onStop
I/System.out: onDestroy
I/System.out: onCreate
I/System.out: onStart
I/System.out: onRestoreInstanceState
I/System.out: onResume 横屏切回竖屏 I/System.out: onConfigurationChanged
I/System.out: onPause
I/System.out: onSaveInstanceState
I/System.out: onStop
I/System.out: onDestroy
I/System.out: onCreate
I/System.out: onStart
I/System.out: onRestoreInstanceState
I/System.out: onResume 配置android:configChangesorientation后竖屏切换为横屏 I/System.out: onConfigurationChanged 配置android:configChangesorientation后横屏切回竖屏 I/System.out: onConfigurationChanged 总结 可以发现新版本Android设备上的运行结果和网上的结论并不完全相同在横竖屏切换时都会调用一次onConfigurationChanged并重启Activity一次具体的生命周期为 I/System.out: onConfigurationChanged
I/System.out: onPause
I/System.out: onSaveInstanceState
I/System.out: onStop
I/System.out: onDestroy
I/System.out: onCreate
I/System.out: onStart
I/System.out: onRestoreInstanceState
I/System.out: onResume 在targetSdkVersion的值小于或等于12时配置android:configChangesorientation 在targetSdkVersion的值小于或等于12时配置android:configChangesorientation|screenSize可以做到拦截Activity的重新创建 I/System.out: onConfigurationChanged 后续 将会对过去版本的Android设备做相应的测试来验证得到结果。