当我在调试器上运行我的应用程序时,我得到主线程和3个绑定线程。
在按钮上单击我调用 Activity.finish(),看起来它在UI关闭后结束活动并返回主屏幕。
但是,在调试器中,它仍然将主线程和3个绑定线程显示为“(运行)”。
我很困惑为什么会这样。更重要的是,当我退出应用程序后再次运行时,它会导致我的应用程序调用 Activity.onResume()。
我目前在Activity中覆盖了这些方法,但我在每个方法中都调用了相应的超级函数:
非常感谢有关此方面的任何帮助或建议!
答案 0 :(得分:22)
当你的应用程序离开主内存时,你无法控制操作系统。仔细查看Activity.finish ...
在您的活动完成后调用此方法 并应该关闭。该 ActivityResult被传播回 谁通过你发起你 onActivityResult()。
请注意,对内存一无所知。至于调用Activity.onResume,这正是你对生命周期的期望;请记住onResume不仅仅是在简历之后调用,而是在onCreate之后首次启动应用程序。
虽然不完全是你问我建议你阅读this article about exit buttons继续说一些非常重要的事情
[Activity.finish]完全等同于点击后退按钮。