正常情况下,Activity会经历如下生命周期。如图所示:
(1)onCreate()
一般用于一些初始化工作,比如加载界面布局资源,初始化所需要的数据。
(2)onRestart()
重新启动Activity,Activity由不可见变为可见时调用。
(3)onStart()
Activity处于可见状态,但还没有出现在前台,用户无法与Activity交互。
(4)onResume()
Activity处于可见状态,并且出在前台显示。
(5)onPause()
Activity可见,但失去了焦点,可以在这里做一些数据存储和停止动画等工作,但是不能再耗时,因为会影响新的Activity的显示,必须onPause()先执行完,新Activity的onResume()才会执行。
(6)onStop()
Activity不可见,但Activity对象还在内存中,没有被销毁。同样可以做释放资源的操作,但不能进行耗时操作。
(7)onDestroy()
Activity被销毁,我们可以做一些回收工作和资源释放。
每个活动在其生命周期最多可能有四种活动状态:
(1)运行状态
Activity是由栈来进行管理的,当一个活动位于栈顶时,就是处于运行状态。
(2)暂停状态
当Activity不在位于栈顶位置时,但还可见时,就是处于暂停状态。比如栈顶的Activity是透明的,或者没有福满整个屏幕时。
(3)停止状态
当Activity不在处于栈顶位置,并且完全不可见时,就是处于停止状态。处于停止状态的Activity有可能会被系统回收。
(4)销毁状态
当Activity从栈中移除后,就变成销毁状态。系统最倾向于回收这种状态的Activity。
原文:http://www.cnblogs.com/Xsix/p/7789002.html