生命周期的图就不上了,到处都是。
一、关键生命周期回调应该做的事情。
1)onCreate():首次创建 Activity 时调用。 在此方法中执行所有正常的静态设置 — 创建视图、将数据绑定到列表等等;
2)onStart():在 Activity 即将对用户可见之前调用。进行一些BroadcastReceiver的绑定操作以及对界面显示有影响的操作;
3)onResume():在 Activity 即将开始与用户进行交互之前调用。 此时,Activity 处于 Activity 堆栈的顶层,并具有用户输入焦点;
4)onPause():当系统即将开始继续另一个 Activity 时调用。 此方法通常用于确认对持久性数据的未保存更改、停止动画以及其他可能消耗 CPU 的内容,诸如此类。 它应该非常迅速地执行所需操作,因为它返回后,下一个 Activity 才能继续执行;
5)onStop():在 Activity 对用户不再可见时调用。如果 Activity 被销毁,或另一个 Activity继续执行并将其覆盖,就可能发生这种情况。如果 Activity 恢复与用户的交互,则后接 onRestart(),如果 Activity 被销毁,则后接 onDestroy();
6)onDestroy():在 Activity 被销毁前调用。这是 Activity 将收到的最后调用。 当 Activity 结束(有人对 Activity 调用了 finish()),或系统为节省空间而暂时销毁该 Activity 实例时,可能会调用它。 您可以通过 isFinishing() 方法区分这两种情形;
7)onRestart():在 Activity 已停止并即将再次启动前调用。
二、保存Activity状态。