生命周期五种状态
- 启动状态:
Activity
的启动状态很短暂,当Activity
启动后便会进入运行状态。 - 运行状态:
Activity
在此状态时处于屏幕最前端,它是可见、有焦点的,可以与用户进行交互。如单击、长按等事件。如果出现内存不足的情况,Android
也会先销毁栈底的Activity
,来确保当前的Activity
正常运行。 - 暂停状态:在某些情况下,
Activity
对用户来说仍然可见,但它无法获取焦点,用户对它操作没有没有响应,此时它处于暂停状态。 - 停止状态:当
Activity
完全不可见时,它处于停止状态,但仍然保留着当前的状态和成员信息。如果系统内存不足,那么这种状态下的Activity
很容易被销毁。 - 销毁状态:当
Activity
处于销毁状态时,将被清理出内存。
生命周期七种方法
onCreate()
方法:Activity
首次创建时被调用。用于设置Activity
的布局文件,绑定按钮监听器等一些普通静态操作。onStart()
方法:在Activity
即将可见时调用。onResume()
方法:在Activity
获取焦点开始与用户交互时调用。onPause()
方法:在当前Activity
被其他Activity
覆盖或锁屏时调用。一般用于保存当前Activity
中的数据。onStop()
方法:在Activity
对用户不可见时调用。onDestroy()
方法:调用Activity
的finish()
方法或Android
系统资源不足时被调用。onRestart()
方法:在Activity
从停止状态再次启动时调用
按键对生命周期的影响
BACK
键
当我们按BACK
键时,我们这个应用程序将结束,这时候我们将先后调用onPause()->onStop()->onDestory()
三个方法。
再次启动App时,会执行onCreate()->onStart()->onResume()
HOME
键
按HOME
的时候,Activity先后执行了onPause()->onStop()
这两个方法,这时候应用程序并没有销毁。
而当我们从桌面再次启动应用程序时,则先后分别执行了onRestart()->onStart()->onResume()
三个方法。
横竖屏切换时Activity的生命周期
从竖屏->横屏:
从当前界面依次会走onPuse()--onStop()--onDestory()--onCreate()--onStart()--onResume()
。
可以看出竖屏会销毁,横屏会重新创建。