4.详解横竖屏切换时Activity的生命周期

详解横竖屏切换时Activity的生命周期

默认情况下,横竖屏切换,无论是横屏切换竖屏还是竖屏切换横屏,都会重新走一次Activity的生命周期,即Activity会重新创建一次,而不会出现网络上提到的横屏切换回竖屏生命周期走两遍的情况。

在2.3版本的机器上,所走的生命周期方法流程如下:

onSaveInstanceState ---> onPause ---> onStop ---> onCreate --->onStart ---> onRestoreInstanceState ---> onResume;

在4.0的机器上,所有的生命周期方法流程如下:

onPause --->onSaveInstanceState --->onStop ---> onCreate --->onStart --->onRestoreInstanceState ---->onResume;


怎么解决横竖屏切换Activity重新创建的问题呢?

有两种方法。

方法1.直接写死屏幕的朝向,为竖屏或横屏。

方法2.在manfest中设置:

android:configChange = "orientation | keyboardHidden | screenSize"。

注意:如果只设置configChange = "orientation“是不起作用的。

如果只设置android:configChange = "orientation | keyboardHidden ",在2.3的机器上是不会重新创建Activity的,但是在4.0的机器上就有所不同了。如果targetVersion <= 12,则不会重新创建Activity,如果targetVersion>12,则重新创建Activity;

你可能感兴趣的:(4.详解横竖屏切换时Activity的生命周期)