频道栏目
IT货架 > > 正文
onConfigurationChanged与OnCreate,究竟谁被调用的问题
网友分享于:Jun 12, 2018 11:44:31 PM    来源: IT货架   

在以前的版本中只要在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" />  

建议使用第一种方法。


广告服务联系QQ:1134687142 | 网站地图

版权所有: IT货架- 内容来自互联网,仅供用于技术学习,请遵循相关法律法规. 京ICP备11030978号-1