关于Android如何禁止屏幕旋转刷新界面

来源:互联网 发布:电气autocad软件下载 编辑:程序博客网 时间:2024/05/18 02:35

Android旋转屏幕属于老生常谈的问题,熟悉Activity生命周期的人肯定清楚当屏幕旋转时生命周期变化为:
onPause–>onStop–>onDestroy–>onCreate–>onStart–>onResume
这里需要强调一点是旋转屏幕时调用onDestroy方法,这相当于将当前Activity销毁了而后又重新创建Activity。这就引起了很多的问题如当前Activity的数据以及状态丢失的情况。在先前Google给出了解决方案即提供了onSaveInstanceState(Bundle)方法,通过Bundle来保存当前Activity的状态。但是这种方法仍不是最简单的方法,后来Google又提供了通过修改配置文件的方式来禁止旋转屏幕Activity状态丢失的方法即在Activity的配置文件中添加如下的配置。

android:configChanges="keyboardHidden|orientation|screenSize"

这样就很有效的防止了屏幕旋转造成Activity刷新丢失状态,可以说这是很简单且有效的方式。但是这里要强调一点的是这种方法并不会一劳永逸的对于那些加载过多第三方数据的Activity如此可能造成数据加载不完的情况。所以最保险的还是重写onSaveInstanceState方法在这里保存Activity状态。

阅读全文
0 0