5

每当我让我的应用程序运行一段时间(上次约 9 小时)时,手机的任何活动都会停止响应并需要强制关闭,之后向下滑动通知区域下方只有一个黑屏并按下返回或主页更改没有什么。我也无法正常关闭手机,因为它只是在试图关闭手机时无休止地旋转。我需要卸下并重新插入电池。

我的应用程序有一个后台服务,它监控蓝牙设备并运行接受线程,超时时间为 30 秒。我相信我正在正确处理它们,因为我的调试屏幕中只显示了 1 个。我已经看到这种手机在整个过程中连接设备并且根本没有连接时冻结行为。

我尝试将手机连接到 logcat 以查看手机冻结时会发生什么,但它总是在一段时间后停止接收来自手机的更新,最多可能一两个小时?很难估计,因为我通常在等待时做其他事情。

是否有人对可能导致此问题的原因或我如何获得一些额外的反馈有任何提示?

4

1 回答 1

1

如果您的服务在后台运行,操作系统可能会在一段时间后将其杀死,您必须知道如何在服务中处理它。

做大量工作的服务很可能会被杀死。

如果您希望您的服务做长时间的工作(30 秒是相当长的时间),您应该将您的服务设置为前台服务,并带有通知。

如果您不希望您的服务成为前台服务,请尝试在被杀死时恢复您的状态,并尝试进一步优化您的代码。

有关服务如何在 android 上运行的更多信息,请阅读此链接

于 2012-08-18T23:00:54.697 回答