gpt4 book ai didi

android - Activity.finish() 已调用但 Activity 仍加载到内存中

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

当我在调试器上运行我的应用程序时,我得到了主线程和 3 个绑定(bind)器线程。

在单击按钮时,我调用了 Activity.finish(),这看起来像是在 UI 关闭并返回主屏幕时结束了 Activity。

但是,在调试器中,它仍然将主线程和 3 个绑定(bind)线程显示为“(正在运行)”。

我很困惑为什么会这样。更重要的是,当我退出应用程序后再次运行它时,它会导致我的应用程序调用 Activity.onResume()

我目前在 Activity 中重写了这些方法,但我在每个方法中调用了适当的 super 函数:

  • onDestroy()
  • onPause()
  • onResume()
  • onSaveInstanceState()

非常感谢有关此的任何帮助或建议!

最佳答案

您无法控制应用何时离开主内存,而是由操作系统控制。仔细看Activity.finish ...

Call this when your activity is done and should be closed. The ActivityResult is propagated back to whoever launched you via onActivityResult().

请注意,这与内存无关。至于调用 Activity.onResume,这正是您对生命周期的期望;请记住,onResume 不仅在恢复后调用,甚至在应用程序在 onCreate 后首次启动时也会调用。

虽然不完全是你问的,但我建议你阅读 this article about exit buttons继续说一些非常重要的事情

[Activity.finish] is exactly equivalent to hitting the back button.

关于android - Activity.finish() 已调用但 Activity 仍加载到内存中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4594996/

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