Android开发中Activity切换导致的onCreate重复执行的问题

在我们用Android开发过程中,会碰到Activity在切换到后台或布局从横屏LANDSCAPE切换到PORTRAIT,会重新切换Activity会触发一次onCreate方法。

在Android开发中这种情况视可以避免的,我们可以在androidmanifest.xml中的activit元素加入这个属性android:configChanges="orientation|keyboardHidden" 就能有效避免oncreat方法的重复加载, 

 

androidmanifest.xml内容如下:红色字体为添加部分


      package="com.demo"
      android:versionCode="1"
      android:versionName="1.0">
   
                    android:configChanges="orientation|keyboardHidden"
                  android:label="@string/app_name">
           
               
               
           

       

  

   
   

 
   
   
 

 

 

同时在Activity的Java文件中重载onConfigurationChanged(Configuration newConfig)这个方法,这样就不会在布局切换或窗口切换时重载等方法。代码如下:

 @Override
    public void onConfigurationChanged(Configuration newConfig)
    {
        super.onConfigurationChanged(newConfig);
     if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE)
     {
//land
     }
     else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT)
     {
//port
     }
    }

 

你可能感兴趣的:(Android)