我使用locationManager在服务中实现了一个位置监听器,每隔x秒和y米报告一次电话的位置。它使用“最佳提供者”进行初始化。退出应用后,该服务将在后台运行。这似乎工作正常,我沿着高速公路行驶,并获得位置确定。但是,似乎偶尔会“停止”报告。服务突然停止,我必须重新启动我的应用程序才能恢复报告。我对此很新,所以请提前道歉。有什么东西可以阻止我的服务吗?我尝试将代码插入到服务的“onDestroy”方法中,但它没有被访问,我正在捕获任何未处理的异常,我似乎也没有。 android os可能会停止我的服务,或者我的听众可能会被某种方式停止?
答案 0 :(得分:0)
如果内存不足或进程为空,Android会停止进程。它会根据以下重要性删除该过程。
首先,它会杀死IMPORTANCE_EMPTY = 500;
后跟IMPORTANCE_BACKGROUND = 400;
,IMPORTANCE_SERVICE = 300;
,IMPORTANCE_CANT_SAVE_STATE = 170;
,IMPORTANCE_PERCEPTIBLE = 130;
,IMPORTANCE_VISIBLE = 200;
和{{1}的流程}
您使用的是哪种手机?如果同时使用广泛的应用程序,框架可以杀死一些后台应用程序来恢复内存。
您可以在onLowMemory和onTrimMemory中添加日志,并检查是否已调用这些日志。另外,记录IMPORTANCE_FOREGROUND = 100;