我创建了一个应用程序问题,当我在OnDestroy()中使用finish()退出应用程序时仍然在后台运行的应用程序当我从菜单中退出应用程序时退出该应用程序
答案 0 :(得分:0)
如果你没有这样做,请尝试在finish()调用之后立即返回(如果你粘贴了代码片段会有帮助)。
答案 1 :(得分:0)
尝试System.exit(0)强制完成您的应用
答案 2 :(得分:0)
从后台杀死应用程序也会使用进程ID终止。你可以使用以下代码
android.os.Process.killProcess(android.os.Process.myPid());
答案 3 :(得分:0)
只需在菜单项中单击finish()即可。这将标记应用程序的完成。没有办法立即退出。
编辑...并手动停止运行的方法/任务。也许检查isFinishing是否属实。
答案 4 :(得分:0)
Android在管理应用生命周期方面相当复杂。实际上它管理活动生命周期。您可能希望阅读本文 - 它非常有助于理解它的最重要方面。 http://developer.android.com/reference/android/app/Activity.html
但请注意,即使系统在您的活动上调用了onDestroy,您的任何活动类都可能存在于内存中。因此,您的应用可能无法以最初的方式启动。至少活动的静态变量可能仍然具有与活动完成甚至销毁时相同的值!
您应该做的就是最大限度地调用finish()并处理您的活动变量,尤其是静态变量!
即使调用finish()也可能不是必需的,因为返回上一个活动也是如此。
ps作为一个小提示,将日志放入这些系统方法,如finish,onDestroy,...以及所有其他系统方法,以便更好地了解正在发生的事情。我相信你会感到惊讶: - )