首页 > 代码库 > onConfigurationChanged与OnCreate,究竟谁被调用的问题
onConfigurationChanged与OnCreate,究竟谁被调用的问题
在以前的版本中只要在AndroidManifest.xml文件中对activity指定android:configChanges="keyboardHidden|orientation"属性,转屏的时候就会不再重新调用OnCreate()函数,而是调用onConfigurationChanged()。
但是在自从android3.2以后,再这样设置的话,会发现转屏后仍然会调用OnCreate(),而不是onConfigurationChanged();原因是google在android3.2中添加了screensize改变的通知,在转屏的时候,不仅是orientation发生了改变,screensize同样也发生了改变。
因此可以使用如下方法实现调用onConfigurationChanged()方法,不调用OnCreate()函数:
1.指定android:configChanges="keyboardHidden|orientation|screenSize",其他的代码和以前的代码一样处理;
2.在AndroidManifest.xml中指定targetSdkVersion为3.2以前的版本(3.2的版本号为13),系统会自动加上screenSize属性值。
比如:<uses-sdk android:minSdkVersion="3" android:targetSdkVersion="12" />
建议使用第一种方法。
onConfigurationChanged与OnCreate,究竟谁被调用的问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。