Android 什么是我的活动';一旦我的应用程序进程被终止,它的状态是什么?

Android 什么是我的活动';一旦我的应用程序进程被终止,它的状态是什么?,android,android-activity,Android,Android Activity,我一直在通过运行一个消耗内存的应用程序来测试我的程序的行为,该应用程序会强制终止。在阅读了的答案之后,我对我看到的一些结果感到困惑 该链接中给出的两个答案都意味着当需要回收内存时,单个活动(而不是应用程序)会被破坏。但是,根据报告,流程——而不是单个活动——被杀死。由于所有组件通常都在同一个进程中运行,所以我希望整个应用程序在内存不足的情况下被终止。我的测试与Android文档一致,因为当我运行我的内存消耗应用程序时,我不再看到进程在运行 因此,如果整个过程都被扼杀了,那么我假设这个问题中给出的

我一直在通过运行一个消耗内存的应用程序来测试我的程序的行为,该应用程序会强制终止。在阅读了的答案之后,我对我看到的一些结果感到困惑

该链接中给出的两个答案都意味着当需要回收内存时,单个活动(而不是应用程序)会被破坏。但是,根据报告,流程——而不是单个活动——被杀死。由于所有组件通常都在同一个进程中运行,所以我希望整个应用程序在内存不足的情况下被终止。我的测试与Android文档一致,因为当我运行我的内存消耗应用程序时,我不再看到进程在运行

因此,如果整个过程都被扼杀了,那么我假设这个问题中给出的答案是错误的,对吗?但是如果是这样的话,如果进程被终止,那么当我恢复应用程序时,是什么让我的包保留下来的呢?它真的保证永远不会写入磁盘吗

该链接中给出的两个答案都意味着当需要回收内存时,单个活动(而不是应用程序)会被破坏

这是不正确的,尽管我自己在这一点上困惑了很长时间

IMHO,这个问题的三个答案中最多有一个“意味着当需要回收内存时,单个活动而不是应用程序会被破坏”

但是如果是这样的话,如果进程被终止,那么当我恢复应用程序时,是什么让我的包保留下来的呢

有时候,没有什么是“把你的包裹放在身边”。其他时候,操作系统的核心流程是“保留[您的]捆绑包”

它真的保证永远不会写入磁盘吗


不“保证”,因为无论是否写入磁盘都没有记录。如果将其写入磁盘,则将由操作系统进程(而不是您的进程)执行,并且该文件应该无法被其他进程读取。

正如今天的文档所述,保存的实例状态将序列化到磁盘


虽然第一个答案没有明确指出单个活动会被终止,但它确实说捆绑包“在收集内存时与应用程序一起被销毁”。由于进程(以及扩展为应用程序)被销毁,但捆绑包显然没有,我认为这一说法是错误的?@MasterNES:是的,我同意引用的语句是错误的。“我一直在通过运行一个消耗内存的应用程序来测试我的程序的行为,该应用程序会强制终止。”现在设备上的调试选项中有一个选项,可以在暂停时销毁所有活动。