Android/活动的生命周期

维基教科书,自由的教学读本

综述[编辑]

随着用户在设备上打开,离开,返回,关闭应用软件(App),应用中的活动实例(Activity instance)在整个生命周期(Lifecycle)中切换不同的状态。

实例[编辑]

当您初次启动应用程序,活动会实例化,来到系统前端被您所看到,并捕捉用户焦点(User focus)。在这个过程中,Android操作系统调用此活动中的一系列生命周期方法。这些生命周期方法设置了用户界面(User Interface)和其他组件。

如果用户执行了一个操作,启动了另一个应用,或者切换到另一个正在运行的应用,使当前活动被转移到后台变得不可见,系统会调用另一套生命周期方法。活动虽然变为不可见状态,但依旧保持完整。

阶段[编辑]

Android活动的基本生命周期(basic lifecycle)
  • 创建(Created)
  • 启动(Started)
  • 暂停(Paused)
  • 恢复(Resumed)
  • 停止(Stopped)
  • 重启(Restarted)
  • 销毁(Destroyed)
  • 重建(Recreated)

意义[编辑]

生命周期的回调方法以内,您可以声明在用户离开、返回活动时活动如何行为。

例如,如果您正在构建一个流媒体视频播放器,当用户切换到其他应用的时候,可能要暂停视频且断开它的网络连接节约流量。当用户返回时,应用将重新连接到网络,使用户从同一断点继续观看。这样在用户使用其他应用的时候就不会耗费网络流量/带宽和CPU资源。

在这一节当中,我们将介绍重要的生命周期回调方法。这些方法是所有活动实例共同具有的。还会介绍如何使用它们,以达到相应目的:您的应用如何执行用户期望的行为,如何避免耗尽系统资源等。

开始/创建[编辑]

与传统的C,C++,Java程序不同的是,Android不需要从main()方法开始运行。Android系统通过特殊的回调方法初始化活动实例的代码,这些回调方法对应其生命周期的具体阶段。有一系列方法用来启动活动,也有一系列方法销毁活动。这些方法就是Android应用的入口和出口,而不是一个main()方法。

您将要运用的第一个生命周期阶段就是开始/创建一个活动实例。

暂停和恢复[编辑]

停止和重启[编辑]

销毁和重建[编辑]