安卓中的"activity record object"是什么?



我参考了下面的文章来进一步了解活动的生命周期,并发现了短语"活动记录对象"

引用文章:

当您的活动被隐藏时,activity对象不存在,但是活动记录对象驻留在操作系统中。操作系统可以重新激活需要时使用活动记录的活动。


调用onSaveInstanceState(…)时,数据将保存到Bundle对象。然后,Bundle对象被填充到您的活动操作系统的活动记录

有人能准确定义"活动记录对象"的含义吗?操作系统是否通过杀死一个活动来节省大量内存?

我写了你在这里引用的一段话(它来自我和Brian Hardy写的书《Android编程:the Big Nerd Ranch Guide》)。让我看看我能不能回答你的问题。

作为应用程序开发人员,"活动记录对象"(我通常说"活动记录")是不可见的。相反,它生活在安卓操作系统中,用于跟踪你的活动。该对象是存储已保存实例状态的位置;它是最初开始你的活动的意图所在的地方,也是你收到的活动结果在交付之前存储的地方。更重要的是,如果活动记录是活动的,那么它可以用于在应用程序中重新构建"活动"实例。

活动记录对象要比活动类的实例保持活动状态要便宜得多。"活动"实例有一个完整的视图层次结构,它本身很容易占用几兆字节的内存。除此之外,"活动"实例要求应用程序的进程存在。因此,如果没有剩下的活动实例,Android也可以摆脱你的整个过程。

最新更新