每当我让我的应用程序运行一段时间(上次约 9 小时)时,手机进行的任何 Activity 都将停止响应并需要强制关闭,之后向下滑动通知区域下方只有一个黑屏并按下返回或主页更改没有什么。我也无法正常关闭手机,因为在尝试关闭手机时它只会无休止地旋转。我需要取出并重新插入电池。
我的应用程序有一个后台服务,它监视蓝牙设备并运行 30 秒超时的接受线程。我相信我正在正确处理它们,因为我的调试屏幕中只显示了 1 个。我已经看到这种手机卡住行为,同时设备在整个持续时间内都处于连接状态并且根本没有连接。
我尝试将手机连接到 logcat 以查看手机死机时会发生什么,但它总是在一段时间后停止接收来自手机的更新,最多一两个小时?很难估计,因为我通常在等待时做其他事情。
有没有人对可能导致这种情况的原因或我如何获得一些额外的反馈有任何建议?
最佳答案
如果您的服务在后台运行,操作系统可能会在一段时间后终止它,您必须知道如何在服务中处理它。
做大量工作的服务将是被杀的好人选。
如果你希望你的服务做长时间的工作(30 秒是相当长的时间),你应该将你的服务设置为 foreground service ,并带有通知。
如果您不希望您的服务成为前台服务,请尝试在被杀死时恢复您的状态,并尝试进一步优化您的代码。
有关服务如何在 android 上运行的更多信息,请阅读 this link 。
关于android - 让我的应用程序运行几个小时导致安卓手机死机,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11482466/