Android 屏幕旋转生命周期以及处理方法

时间:2021-12-28 03:59:27

工作期间项目需要经常旋转屏幕,还有平板。所以会经常考虑Android 屏幕旋转生命周期,所以也有相应的处理方法。主要有两种办法解决。是根据屏幕旋转的生命周期具体使用。屏幕旋转时候,如果不做任何处理,activity会经过销毁到重建的过程。这种效果都不是想要的。

一、方法一

是在配置文件的activity加上这个

android:configChanges="keyboardHidden|orientation|screenSize"  这句话意思就是配置双引号里面参数意义,软键盘隐藏,方向,屏幕大小

Android 3.0以后要加上screenSize。

        <activity android:name="cn.com.karl.my.MySetNewsActivity"
             android:configChanges="keyboardHidden|orientation|screenSize"> >
        </activity>
然后activity重写下面方法。有什么需要在旋转时候做处理,也是写在这个方法里面。

	//重写旋转时方法,不销毁activity
	@Override
	public void onConfigurationChanged(Configuration newConfig) {
		super.onConfigurationChanged(newConfig);
	}
看下图旋转的生命周期,这张图是出自一位博客的图片,在最后我会注明出处。

Android 屏幕旋转生命周期以及处理方法

二、方法二

不用在配置文件里写activity的配置。一切让它销毁在重建,只不过这过程中,把需要的,重要的值保存起来。重建后在取出来就行了。我不太赞成这样使用,资源没有充分使用。看看需要重写的两个方法。

	@Override
	protected void onSaveInstanceState(Bundle outBundle) {
		super.onSaveInstanceState(outBundle);
 		outBundle.putBoolean("RoadChange", mChange);
	}
	
	@Override 
	protected void onRestoreInstanceState(Bundle savedInstanceState) {
		super.onRestoreInstanceState(savedInstanceState);
		mChange = savedInstanceState.getBoolean("RoadChange");
	}
生命周期如下图:

Android 屏幕旋转生命周期以及处理方法
这篇博客参考Android屏幕旋转时Activity的生命周期。上面两张图片也是出自这篇博客。

转载请注明出处的博客网址: http://blog.csdn.net/qq_16064871
如有转载未注明出处博客网址,或者没有得到作者的同意。作者持有版权所有权。