1

我使用 locationManager 在服务内部实现了一个位置侦听器,该侦听器每隔 x 秒和 y 米报告一次手机的位置。它使用“最佳提供者”进行初始化。该服务在应用退出后在后台运行。这似乎工作正常,我正在高速公路上行驶,并找到合适的位置。但是,它似乎偶尔会“停止”报道。服务突然停止,我必须重新启动我的应用程序才能恢复报告。我对此很陌生,所以提前道歉。有什么东西可以阻止我的服务吗?我尝试将代码插入到服务的“onDestroy”方法中,但没有达到,而且我正在捕获任何未处理的异常,而且我似乎也没有这些异常。android操作系统可以停止我的服务吗?

4

1 回答 1

0

如果内存不足或为空进程,Android 会停止进程。它根据以下重要性删除进程。

首先它会杀死IMPORTANCE_EMPTY = 500;, IMPORTANCE_BACKGROUND = 400;, IMPORTANCE_SERVICE = 300;, IMPORTANCE_CANT_SAVE_STATE = 170;,IMPORTANCE_PERCEPTIBLE = 130;IMPORTANCE_VISIBLE = 200;IMPORTANCE_FOREGROUND = 100;

你用的是什么手机?如果同时使用了大量应用程序,该框架可以杀死一些后台应用程序以恢复内存。

您可以在onLowMemoryonTrimMemory中添加日志,并检查是否调用了这些日志。此外,将整数参数记录在onTrimMemory

于 2013-09-20T03:14:50.790 回答