Activity的生命周期就是Activity从被创建到被销毁的过程。这个过程中包括以下状态:
1、运行态:Activity处于屏幕最上端且和用户能交互的状态。
2、暂停态:Activity可见但不能与用户交互。
3、停止态:被其它Activity完全遮挡时。
4、销毁状态:Activity被系统回收。
Android提供了如下回调方法用于Activity不同状态切换时的操作,理解并合理地使用这些回调方法可以开发出高性能、低功耗的app。
1)onCreate(0
Activity实例被系统后第一个被回调的方案。在该方法中,可以完成
a) 设置Activity管理的布局;
b) 实例化布局中的View;
c) 设置UI事件的各种监听;
d) 注册广播接收者;
e) 加载(包括从服务端获取的)数据;
f) 通过Bundle类型的参数获取前任Activity储存的数据。
2)onStart()
Activity可见时调用。
1、 onCreate()-onStart()
2、 onStop()->onRestart()->onStart()
在该方法中可以:
a) 启动Service;
b) 注册传感器等事件监听;
c) 启动动画
3)onResume()
Activity开始与用户交互时调用(无论是启动还是重新启动一个活动,该方法
总是被调用的)。
onStart()-onResume()
onPause()-onResume()
4)onPause()
当Activity处于暂停、停止或被回收时,都会回调本方法。
该方法用于重要数据的持久化。
5)onStop()
Activity被停止并转为不可见阶段及后续的生命周期事件时调用。
处于停止状态的Activity中的所有数据和界面状态均保存在内存中。
6)onRestart()
重新启动Activity时调用。该活动仍在栈中,而不是启动新的活动。
7)onDestroy()
Activity被完全从系统内存中移除时调用,该方法被调用。
在该方法中释放相关资源。如网络框架、取消广播接收者的注册。