Activity的跳转、横竖屏切换的生命周期

一、Activity的生命周期:onCreate()→onStart()→onResume()→onPause()→onStop()→onDestroy()

二、Activity横竖屏切换的生命周期:

onSaveInstanceState()→onPause()→onStop()→onDestroy()→onCreate()→onStart()→onRestoreInstanceState()→onResume()

横竖屏切换生命周期详解:比如我们在看视频,现在要从竖屏切换到横屏的时候,要先保存我们现在的状态(如:你看视频看到5分钟,要保存当前看了几分钟、当前缓存的进度等),也就是onSaveInstanceState;接着竖屏的Activity要失去焦点onPause;然后让它停止运行onStop;再销毁它onDestroy;接着再创建横屏的Activity  onCreate;再让它运行onStart;然后要将之前保存了的状态取出来,onRestoreInstanceState;最后让横屏的Activity获得焦点onResume。

三、Activity跳转的生命周期有两种情况:从 A  跳转到 B

1、  A-----onPause

        B------------------onCreate

        B------------------onStart

        B------------------onResume

        A-----onStop

  2、这种情况是:B是透明的

        A-----onPause

B------------------onCreate

B------------------onStart

B------------------onResume

因为B是透明的,所以我们还要看见A,所以不执行 A-----onStop。这两种情况的返回都是一样的:

按 back 键,从B返回A:

B------------------onPause

A-----onRestart

A-----onStart

A-----onResume

B------------------onStop

B------------------onDestroy


以上仅是我个人的理解,希望对您有所帮助。若对您有所帮助,请不吝点赞,谢谢!

你可能感兴趣的:(Activity的跳转、横竖屏切换的生命周期)