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

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

 

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

<?xml version="1.0" encoding="utf-8"?>
      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
     }
    }

 

更多相关文章

  1. android拾遗——四大基本组件介绍与生命周期
  2. cocos2d-x android c++调用java
  3. [Android]资源存储方法
  4. 详解Android提交数据到服务器的两种方式四种方法
  5. Android(安卓)高级编程--Fragment理解与使用
  6. android 如何中断一个子线程
  7. Android(安卓)Q WiFi Enable
  8. Android企业级程序完全退出的解决方案
  9. Android客户端和服务器端数据交互的第二种方法

随机推荐

  1. sql中 order by 和 group by的区别
  2. CentOS安装SQL Server vNext CTP1教程
  3. SQL SERVER中强制类型转换cast和convert
  4. 通过使用正确的search arguments来提高SQ
  5. SQL Server配置管理器无法连接到WMI提供
  6. SQL 中STUFF用法
  7. SQL 联合查询与XML解析实例详解
  8. SQL Server 2012 安装与启动图文教程
  9. sql server定时作业调用Kettle job出错的
  10. DATASET 与 DATAREADER对象有什么区别