1

如您所知,像三星一样,HTC 有一个自定义任务管理器菜单,如下所示。长按home键可以弹出这个菜单。如果我的应用程序在后台运行并且我从任务管理器中关闭它,我将无法处理它。Activity 的 onDestroy 方法没有被调用。

在此处输入图像描述

4

1 回答 1

3

不幸的是,没有一个很好的答案来处理这种情况。如果应用程序被强制终止,则不一定会调用 onDestroy 方法。根据文档

注意:不要指望这个方法被称为保存数据的地方!例如,如果一个活动正在内容提供者中编辑数据,那么这些编辑应该在 onPause() 或 onSaveInstanceState(Bundle) 中提交,而不是在这里。

如果可以,请在 onPause() 方法中进行清理。为了让用户到达该屏幕以终止应用程序,它必须已被后台处理,因此将调用 onPause()。(见文档

看起来您的情况与另一个 SO 线程中提出的问题类似 - https://stackoverflow.com/a/3856300/413254

于 2013-07-31T14:02:13.070 回答