3

Application Fundamentals 教程中的Activity 生命周期部分指出有3种状态:

一个活动本质上具有三种状态:

(1.活动/运行 2.暂停 3.停止)

但是当我继续阅读实际的 Activity 类文档时,Activity 生命周期部分指出有4 个状态:

一个活动基本上有四种状态:

(1.活动/运行 2.暂停 3.停止 4.“下降”?)

两个来源(在同一个网站上)都同意前 3 个,但第 4 个仅在课程文档中提及且未命名。

那么,真的有 4 个州还是只有 3 个州?

如果有 4 个,第 4 个叫什么名字?

请帮助我理解这种差异。

此外,这个美丽且信息量很大的流程图中突出显示的彩色块似乎与状态不对应。在流程图中,您会在哪里标记 3 或 4 个状态?

4

2 回答 2

4

我将其描述为三种状态。第四个“状态”是不存在,因为 Android 可能会破坏活动以释放 RAM。但是,如果该 Activity 仍然可以通过 BACK 按钮访问,Android 将挂起BundlefromonSaveInstanceState()并在重新创建该 Activity 时使用它。如果您希望将此缓存视为Bundle“状态”,我不会狡辩,但这不是我通常描述它的方式。

此外,这个美丽且信息量很大的流程图中突出显示的彩色块似乎与状态不对应。

大多数情况下,该图显示了生命周期方法的顺序。正如您所说,它是一个流程图,而不是状态图。

在流程图中,你会在哪里标记 3 或 4 个状态?

我不会。但是,活动/运行状态是绿色的“活动正在运行”气泡,暂停状态是白色的“活动不再可见”气泡,停止状态将介于onStop()和之间onDestroy()。不存在的“状态”将是红色的“进程被杀死”气泡。

于 2010-12-29T15:54:01.403 回答
1

该图描绘了 4 个状态,第 4 个被标记为Destroyed

但是,如您所见,这第四个“状态”无处可去。也就是说,与其他 3 个可以“离开”到另一个状态的状态不同,这种“已摧毁”状态是一个死胡同。

于 2011-05-24T19:16:38.113 回答