首页 > 代码库 > Activity的生命周期

Activity的生命周期

技术分享

 

一些例子,有助于理解

一:一个Activity的生命周期的正常执行流程:

onCreate()  onStart()  onResume()  onPause()  onStop()  onDestroy()

二: AActivity启动BActivity的生命周期执行流程

1 AActivity 被创建:

  onCreate()  onStart()  oResume()

2 AActivity 启动BActivity:

   AActivity: onPause()

   BActivity: onCreate()  onStart()  onResume()

   AActivity: onStop()

3 BActivity点击返回按钮:

   BActivity: onPause()

   AActivity: onRestart()  onStart()  onResume()

   BActivity: onStop()  onDestroy()

4  AActivity点击返回按钮:

    AActivity:onPause() onStop()  onDestroy()

三:A activity启动B activity,但是B activity是透明的或者是dialog形式的Activity

 
①.条件一:A activity被创建:
MainActivity---->onCreate方法执行了...
MainActivity---->onStart方法执行了...
MainActivity---->onResume方法执行了...
②.条件二:在A activity中点击启动B activity的按钮:
MainActivity---->onPause方法执行了...
SecondActivity---->onCreate方法执行了...
SecondActivity---->onStart方法执行了...
SecondActivity---->onResume方法执行了...
③.条件三:在B activity中点击返回按钮:
SecondActivity---->onPause方法执行了...
MainActivity---->onResume方法执行了...
SecondActivity---->onStop方法执行了...
SecondActivity---->onDestroy方法执行了...
④.条件四:在A activity中点击返回键:
MainActivity---->onPause方法执行了...
MainActivity---->onStop方法执行了...
MainActivity---->onDestroy方法执行了...

四:横竖屏切换时Activity生命周期执行流程:

①.条件一:activity被创建,竖屏状态:
onCreate方法执行了
onStart方法执行了
onResume方法执行了
②.条件二:切换为横屏状态:
onPause方法执行了
onStop方法执行了
onDestroy方法执行了——>(activity被销毁)
onCreate方法执行了——>(activity被重新创建)
onStart方法执行了
onResume方法执行了

五:屏蔽横竖屏切换时生命周期执行流程:

①.条件一:activity被创建,竖屏状态:
onCreate方法执行了
onStart方法执行了
onResume方法执行了
②.条件二:切换为横屏状态:
生命周期方法不会发生变化.
 
 
(四)、横竖屏切换配置:

     <!-- 配置屏幕方向 -->

     <!-- android:screenOrientation="landscape”;

            landscape:水平;portrait:垂直 -->

     <!-- 屏蔽横竖屏变化时Activity生命周期的相关方法 -->

     <!—-android:configChanges="keyboard|orientation|screenSize"-->

Activity的生命周期