java - Android Lollipop 中的服务似乎随机消失,没有错误

标签 java android android-activity service android-studio

我在应用程序中运行一项服务,用于检测设备上的接近传感器是否被触发。

但是,当我在运行 Android Lollipop 的设备上进行测试时,当我运行其他应用程序时,该服务似乎意外退出。

例如,我启动我的服务:

Intent service = new Intent(MainActivity.this,ProximityService.class);
startService(service);

然后我关闭应用程序并允许其运行。 接下来我打开 Google Chrome。我通过覆盖接近传感器来触发传感器。然后该服务突然消失,没有日志或错误消息。

当我尝试打开其他应用程序(例如相机应用程序和游戏)时,也会发生这种情况。

这种错误行为有可能的解释吗?

什么可能导致这些异常?

最佳答案

这在预期行为范围内,并且一直如此,即使实际发生的情况并不总是频繁。

唯一的“错误”是您期望 Android 将保持后台服务运行 - 没有做出这样的 promise

通常会在系统可以支持时重新启动被归类为尚未完成工作的服务。但重新启动 Service 来完成中断的工作与始终让它继续运行是截然不同的事情。

关于java - Android Lollipop 中的服务似乎随机消失,没有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28641382/

相关文章:

Android onTouchListener 不起作用,仅在 Padding 区域起作用

android - 如何在两个 Android 应用程序(如 Facebook 应用程序和 Facebook Messenger)之间共享登录数据

java - 如何使用底部导航 Activity 更改 fragment ?

java - 当我想在 ArrayList 中添加来自请求 json 的对象时

java - Jruby 堆转储失败

带逗号的 Java 资源包格式

java - 使用selenium获取页面源代码,如何在没有firefox的服务器上使用我的代码?

android - Android中间体错误? appcompat-v7/cfc_tracker:processReleaseResources

Java套接字文件传输线程失败,但在调试时可以工作

java - 将 Sprite 表中的 Sprite 存储在数组 Libgdx 中