我的demo中在切换横竖屏幕的时候,是没有拉起键盘的,也没有设置android:configChanges,每次查看切换的结果,不管是横屏切换为竖屏,或是竖屏切换为横屏,都只是进行一次生命周期。为什么网上都说是两次?

解决方案 »

  1.   

    在准备面试看面试题的时候确实有竖屏切横屏执行两次这么个说法,当时也没在意,你这一说我也去试了下,确实如你所说,都是一次,我是4.0.3的系统,不过看网上那些帖子都是2,3年前的了,所以有可能低版本的android系统是竖屏切横屏执行2次的,你可以找个低版本的手机或者建立一个低版本target的模拟器试试
      

  2.   

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

  3.   

    以前做过,注意:
     一,android:configChanges属性设置
     二,2.3 和 4.0 版本用法不同,而且Activity生命周期调用顺序也不同,这个很郁闷。
    记得当时同是2.33版本的两个不同品牌手机调试同一程序,onConfigurationChanged方法,一个调用,一个不调用,后来是配合代码和属性设置,参考了n多资料才调试好的。