【发布时间】:2016-06-29 00:16:06
【问题描述】:
我正在尝试创建一个模拟位置应用程序。用户选择位置后,应用应将他的位置欺骗到他选择的位置。
我希望当用户关闭应用、从最近的应用或按下后退按钮时,应用将停止到模拟位置。
在阅读了文档并进行了一些调试后,我了解到当用户从最近的应用程序中停止应用程序时,不会调用 OnDestroy 函数。
我如何知道用户何时决定终止应用?
【问题讨论】:
我正在尝试创建一个模拟位置应用程序。用户选择位置后,应用应将他的位置欺骗到他选择的位置。
我希望当用户关闭应用、从最近的应用或按下后退按钮时,应用将停止到模拟位置。
在阅读了文档并进行了一些调试后,我了解到当用户从最近的应用程序中停止应用程序时,不会调用 OnDestroy 函数。
我如何知道用户何时决定终止应用?
【问题讨论】:
是的,不能保证每次都会调用 onDestroy 方法。onDestroy 会在 Android 资源不足需要清理以恢复一些内存资源时调用。
因此,最好的解决方案是正确使用 onStop 回调删除位置引用并在 onStart 中再次初始化。
更多详情,请查看以下链接: https://developer.android.com/reference/android/app/Activity.html#onDestroy%28%29
【讨论】: