gpt4 book ai didi

android - 如果 App 进程被终止,bundle 如何发送到 onCreate?

转载 作者:太空狗 更新时间:2023-10-29 16:31:26 25 4
gpt4 key购买 nike

在 Activity 生命周期图中,有一个从“onStop”到“App process killed”再到“onCreate”的箭头。一直很纳闷,现在我就fragments做一个小的说说;如果整个应用程序进程被销毁,onCreate 如何从 onStop 接收包?系统是否跟踪已终止的应用程序及其 Activity 包?我认为它会这样做,因为此时被杀死的应用程序分配给它的内存为零。

此外,从管理 Activity 生命周期>启动 Activity 页面的最后一段中,“系统在调用 onPause() 和 onStop() 之后在所有情况下调用 onDestroy(),但以下情况除外:...”并且这种情况并没有说明内存不足。这让我认为箭头永远不应该从 onStop 转到 onCreate 因为“具有更高优先级的应用程序需要内存”。这是错字还是我读错了?我想我读错了,因为“可杀?” “一般来说, Activity 生命周期中的运动如下所示:”图表中的列。

其中一个必须是错误的,要么是 Activity 生命周期图表中的箭头,要么是“系统在调用 onPause() 和 onStop() 之后在所有情况下调用 onDestroy(),除了一个:...”声明.希望我是在断章取义。

最佳答案

How is it possible for onCreate to receive the bundle from onStop if the whole app process is destroyed?

它不会“从 onStop 接收包”,因为 onStop()Bundle 无关。传递给 onCreate()onRestoreInstanceState()Bundle 包含由 放入较早的 Bundle 中的数据>onSaveInstanceState()Bundle 的内容跨进程边界传递到核心操作系统进程,该进程管理未完成的 Activity 及其任务的状态。该内容会在相关时传回您应用的新流程。

Does the system keep track of killed apps and their activity bundles?

操作系统会跟踪未完成的任务。有一段时间(自上次使用后约 30 分钟),它会跟踪任务 Activity 的实例状态 Bundle

The system calls onDestroy() after it has already called onPause() and onStop() in all situations except one

onDestroy() 没有被调用的情况不止一种。由于内存不足而终止进程可能会也可能不会导致 onDestroy() 被调用,具体取决于系统 RAM 需求的紧迫性。

关于android - 如果 App 进程被终止,bundle 如何发送到 onCreate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37355440/

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