«

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

时间:2024-3-2 18:31     作者:韩俊     分类: Android


工作期间项目需要经常旋转屏幕,还有平板。所以会经常考虑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);
    }
看下图旋转的生命周期,这张图是出自一位博客的图片,在最后我会注明出处。

二、方法二

不用在配置文件里写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屏幕旋转时Activity的生命周期。上面两张图片也是出自这篇博客。

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

标签: android

热门推荐