Activity的生命周期以及各个状态的切换

Activity的生命周期以及各个状态的切换

(1)四种状态:

正常情况下:依次会走Activity启动--onCreate()--onStart()--onResume()--Activity此时呈现在用户面前--当停掉Activity时会执行onPuse()--Activity不可见时执行onStop()--Activity被销毁时---onDestory()

Activity暂停之后,用户又返回到Activity时:依次会执行onResume()--Activity此时呈现在用户面前--当停掉Activity时会执行onPuse()--Activity不可见时执行onStop()--Activity被销毁时---onDestory()

Activity长时间不可见,用户又重新导航到Activity:依次会执行onRestart()--onStart()--onResume()--Activity此时呈现在用户面前--当停掉Activity时会执行onPuse()--Activity不可见时执行onStop()--Activity被销毁时---onDestory()

Activity被释放掉后又重新导航回来:次会执行onCreate()--onStart()--onResume()--Activity此时呈现在用户面前--当停掉Activity时会执行onPuse()--Activity不可见时执行onStop()--Activity被销毁时---onDestory()

(2)按键对生命周期的影响

BACK键

  当我们按BACK键时,我们这个应用程序将结束,这时候我们将先后调用onPause()->onStop()->onDestory()三个方法。

再次启动App时,会执行onCreate()->onStart()->onResume()

HOME键:

  按HOME的时候,Activity先后执行了onPause()->onStop()这两个方法,这时候应用程序并没有销毁。

而当我们从桌面再次启动应用程序时,则先后分别执行了onRestart()->onStart()->onResume()三个方法。

3)横竖屏切换时Activity的生命周期:

 从竖屏--横屏:从当前界面依次会走onPuse()--onStop()--onDestory()--onCreate()--onStart()--onResume()。可以看出竖屏会销毁,横屏会重新创建。

4)Activity生命周期中函数意义

onCreate()Activity首次创建时被调用。用于设置Activity的布局文件,绑定按钮监听器等一些普通静态操作。

onStart()Activity对用户可见时被调用

onResume()Activity获得用户焦点,即用户可操作该Activity时被调用。

onPause():应用程序启动了其它Activity时被调用。一般用于保存当前Activity中的数据。

onStop()Activity不可见时被调用

onRestart():已停止的Activity重新启动时被调用

onDestroy():调用Activity的finish()方法或Android系统资源不足时被调用。