我在应用程序中运行了一项服务,可以检测设备上的接近传感器是否被触发。
但是,当我在运行Android Lollipop的设备上进行测试时,当我运行其他应用时,该服务似乎意外退出。
例如,我开始服务:
Intent service = new Intent(MainActivity.this,ProximityService.class);
startService(service);
然后我关闭应用程序并允许它运行。 接下来我打开谷歌浏览器。我通过覆盖接近传感器来触发传感器。然后,服务突然消失,没有日志或错误消息。
当我尝试打开其他应用程序(例如相机应用程序和游戏)时,也会发生这种情况。
这种错误行为是否有可能的解释?
可能导致这些异常的原因是什么?
答案 0 :(得分:1)
这是在预期行为的范围内,并且始终是这样,即使它的实际发生并不总是频繁发生。
唯一的错误"您希望Android能够继续运行后台服务 - 没有做出这样的承诺。
在系统可以支持的时候,通常会努力重新启动服务,该服务被归类为还有工作要做。但重新启动服务以完成中断的工作与总是让它继续运行完全不同。