关于横竖屏切换时Activity生命周期的问题
2016-05-30 20:46
246 查看
Activity的生命周期和项目清单文件里面的配置有关系:
1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,默认首先销毁当前的activity,然后重新加载;切横屏时会执行一次,切竖屏时会执行两次;
2、设置Activity的android:configChanges=”orientation”时,切屏还是会重新调用各个生命周期方法,切横、竖屏时只会执行一次;
3、设置Activity的android:configChanges=”orientation|keyboardHidden”时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法;
以上是Android 3.2(API 13)以前的,2.3及以后android:configChanges加入了screenSize属性,而且切屏时生命周期也有了变化,如下:
1、不设置ndroid:configChanges属性,切横屏竖屏都各自执行一次生命周期方法;
2、设置android:configChanges="orientation|screenSize" ,那么切横屏竖屏都不会执行生命周期方法,而是执行onConfigurationChanged方法;
1、不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,默认首先销毁当前的activity,然后重新加载;切横屏时会执行一次,切竖屏时会执行两次;
2、设置Activity的android:configChanges=”orientation”时,切屏还是会重新调用各个生命周期方法,切横、竖屏时只会执行一次;
3、设置Activity的android:configChanges=”orientation|keyboardHidden”时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法;
以上是Android 3.2(API 13)以前的,2.3及以后android:configChanges加入了screenSize属性,而且切屏时生命周期也有了变化,如下:
1、不设置ndroid:configChanges属性,切横屏竖屏都各自执行一次生命周期方法;
2、设置android:configChanges="orientation|screenSize" ,那么切横屏竖屏都不会执行生命周期方法,而是执行onConfigurationChanged方法;
相关文章推荐