Android切换横竖屏时的生命周期

最近在绘制K线图,可以选择查看MACD或者KDJ之类的,按理说,在选择显示图样之后,随意切换横竖屏,都需要保持已选的状态,但是,在切横屏之后,K线图又重新绘制,展示初始的默认图样。

Android切换横竖屏时的生命周期_第1张图片
选择显示KDJ的K线图样式



Android切换横竖屏时的生命周期_第2张图片
切横屏之后的默认K线图样式

查阅资料,最后的解决办法是,在AndroidManifest.xml文件中,该activity的声明中加入 android:configChanges="keyboardHidden|orientation|screenSize"便能解决重新加载问题。切记记得加screenSize。亲测,7.0版本,若不加screenSize则设置无效。

如下是未设置configChanges时,切横屏时的生命周期。

Android切换横竖屏时的生命周期_第3张图片
切横屏走的生命周期方法

在切回竖屏时,以上生命周期会完整的再走一遍。

而在设置android:configChanges="keyboardHidden|orientation|screenSize"之后,切横屏,在切回竖屏,不会执行任何生命周期方法。

不过,Android4.0以上需设置screenSize才有效果,以下可以设置为android:configChanges="keyboardHidden|orientation"

你可能感兴趣的:(Android切换横竖屏时的生命周期)