gpt4 book ai didi

android - 一旦我的应用程序进程被终止,什么会保持我的 Activity 状态?

转载 作者:太空宇宙 更新时间:2023-11-03 12:38:42 24 4
gpt4 key购买 nike

我一直在通过运行一个强制终止我的应用程序的内存占用应用程序来测试我的程序的行为。阅读 Where is the bundle of onSaveInstanceState saved? 的答案后, 我对看到的一些结果感到困惑。

该链接中给出的两个答案都暗示当需要回收内存时,单个 Activity 而不是应用程序会被销毁。但是根据http://developer.android.com/guide/components/processes-and-threads.html ,进程 - 而不是个人 Activity - 被杀死。由于所有组件通常都在同一个进程中运行,我希望整个应用程序在内存不足的情况下被终止。我的测试与 Android 文档一致,因为当我运行占用内存的应用程序时,我不再看到进程在运行。

因此,如果整个进程都被终止,我是否正确地假设该问题中给出的答案不正确?但如果是这样,当我恢复我的应用程序时,如果进程被终止,是什么让我的 Bundle 继续存在?真的保证永远不会写入磁盘吗?

最佳答案

Both answers given in that link imply that individual activities, not applications, are destroyed when memory needs to be reclaimed.

这是不正确的,虽然我自己在这一点上很困惑很长一段时间。

恕我直言,该问题的三个答案中最多有一个“暗示当需要回收内存时,单个 Activity 而不是应用程序被破坏”。

But if so, what's keeping my Bundle around when I resume my application if the process was killed?

有时,没有什么是“保持 [your] Bundle 存在”。其他时候,操作系统的核心过程是“保持 [your] Bundle around”。

Is it really guaranteed to never be written to disk?

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

关于android - 一旦我的应用程序进程被终止,什么会保持我的 Activity 状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12468717/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com