最近在学习Android,记录一下Activity的状态和周期。
1.Activity状态
每个活动在其声明周期中,最多可能有4个状态,分别为运行状态、暂停状态、停止状态和销毁状态。
运行状态:此时,Activity处于返回栈(BackStack)的栈顶。
暂停状态:Activity不处于栈顶位置,但可见。如对话框形式的Activity,该Activity未占满整个屏幕。
停止状态:Activity不处于栈顶位置,且不可见。
销毁状态:当Activity从返回栈中被移除后,就变成了销毁状态。
2.Activity生存期
(1)onCreate():每个Activity都会重写该方法。它会在Activity第一次被创建的时候调用,用来完成初始化操作,如加载布局,绑定事件。
(2)onStart():在Activity由不可见变为可见的时候调用。可以加载资源。
(3)onResume():当Activity准备好和用户交互时调用,此时Acitvity处于栈顶位置,且处于运行状态。
(4)onPause():在系统准备去启动或恢复另一个Activity时调用,可以在该方法中释放资源,或保存一些关键数据。
(5)onStop():在Activity完全不可见的时候调用,与onPause()的区别在于,如果启动的是对话框形式的Activity,则onPause()被调用。可以释放资源。
(6)onDestory():Activity被销毁前被调用,执行完后,Activity变为销毁状态。可以在该方法中释放内存。
(7)onRestart():在Activity由停止状态变为运行状态之前调用,Acitivty将被重新启动。