gpt4 book ai didi

Android:当 Dalvik 杀死此 Activity 时,不会调用 Activity.onDestroy()

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:35:13 26 4
gpt4 key购买 nike

我对 Activity.onDestroy() 感到困惑。当我的 Activity 被销毁时,我需要释放一些资源,但似乎 onDestroy() 只是在我按下“后退”键时被调用,而不是当我的 Activity 被 Dalvik 杀死时。我只是通过添加日志来测试它:

Log.v("my_tag", "onDestroy() called");

在 onCreate() 方法中也是如此:

Log.v("my_tag", "onCreate() called");

然后我开始我的 Activity,我在日志中看到:onCreate() 已调用。我按“后退”键,然后再次启动 Activity,然后我看到:

onDestroy() called
onCreate() called

然后我按“主页”键并再次转到我的 Activity ,日志没有改变。好的,就在这里。

然后我再次按下“主页”键并启动一些非常“繁重”的应用程序。在日志中没有关于 onDestroy() 的内容,但是当我再次启动我的 Activity 时,我在日志中看到:onCreate() called!所以,onDestroy() 没有被调用,但是我的 Activity 被杀死了。怎么了?

最佳答案

来自onDestroy()文档:

[..] There are situations where the system will simply kill the activity's hosting process without calling this method (or any others) in it, so it should not be used to do things that are intended to remain around after the process goes away.

在 Android 中,您不会得到有保证的 onDestroy() 调用。
如果你想释放一些资源,你应该在 onPause() 中执行。

关于Android:当 Dalvik 杀死此 Activity 时,不会调用 Activity.onDestroy(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8667019/

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