Activity生命周期浅析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Activity生命周期浅析相关的知识,希望对你有一定的参考价值。

正常情况下,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。

以上是关于Activity生命周期浅析的主要内容,如果未能解决你的问题,请参考以下文章

Fragment与Activity生命周期关系

Android Activity生命周期解析

Activity的生命周期及常见回调顺序

Activity与Fragment的生命周期详解

Activity的生命周期

Java-类的生命周期浅析