您的位置:首页 > 移动开发 > Android开发

Android应用之横竖屏切换时生命周期 onsaveinstancestate

2015-12-28 18:22 323 查看
Android设备在横竖屏切换时,会调用OnsavedInstanceState方法,我们来看看其生命周期的调用过程。

写了个简单例子,通过log打印出生命周期的调用过程。不多说,上图大家一看就明白。

下图是正常打开一个Activity的生命周期调用过程。



下面是打开一个Activity然后由竖屏切换到横屏的生命周期调用过程。



下面是打开一个Activity然后由竖屏切换到横屏再切回竖屏的生命周期调用过程。



在书上看到大神说,onsaveInstancestate方法在 onstop之前调用,和onpause没有既定的时序关系,有可能在onpause之前,也可能在onpause之后,但是我测试了几次好像都是在onpause之后,这点还有待验证。

这里再说一个关于生命周期的知识点,最近看书才知道的。

已经打开的Activity A然后再打开另外一个Activity B。两个Activity'的生命周期是怎么执行的呢?

首先执行的是Activity A的onPause()方法,然后执行Activity B的onCreate(),onStart(),onResume(),然后再执行Activity A的onStop()方法。

大家可以打印log看下效果。这个执行顺序也提醒我们不要在onPause()方法中做太耗时的操作,有需要尽量放在onStop中,这样就不会影响新的Activity的顺利打开。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: