gpt4 book ai didi

android - onLowMemory 如何在 android 上工作?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:26:14 25 4
gpt4 key购买 nike

我想知道 onLowMemory() 函数是如何执行的

例如。

假设我有 3 个 Activity ,每个 Activity 都覆盖了它们的 onLowMemory() 函数以从 RAM 中清除数据。我还有 1 个 Application 类,它也覆盖 onLowMemory() 以清理一些全局状态数据。

现在假设我们从 Activity A -> Activity B -> Activity C 开始,在 Activity C 上我们耗尽了内存。我的问题是之后会发生什么?

据我了解,将调用 Activity C 和 Application 类的 onLowMemory() 函数,我说得对吗? Activity A 和 Activity B 的 onLowMemory() 函数是否被调用?

另外我相信 Activity A 和 B 会被杀死(因为它们是后台 Activity ),但是在这些 Activity 被杀死之前,它们各自的 onLowMemory() 会被调用吗?

最佳答案

当手机内存不足时,后台进程会被框架杀死。如果最后一个后台进程被杀死,框架会调用每个应用的onLowMemory。

这在源代码中有描述。请参阅:https://github.com/android/platform_frameworks_base/blob/master/services/java/com/android/server/am/ActivityManagerService.java#L3088

  // If there are no longer any background processes running,
// and the app that died was not running instrumentation,
// then tell everyone we are now low on memory.

关于android - onLowMemory 如何在 android 上工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7360102/

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