Android 定位服务已停止
Posted
技术标签:
【中文标题】Android 定位服务已停止【英文标题】:Android Location Service stopped 【发布时间】:2013-09-25 07:57:25 【问题描述】:我使用 locationManager 在服务内部实现了一个位置监听器,它每隔 x 秒和 y 米报告手机的位置。它使用“最佳提供者”进行初始化。该服务在应用退出后在后台运行。这似乎工作正常,我正在高速公路上行驶,并找到合适的位置。但是,它似乎偶尔会“停止”报道。服务突然停止,我必须重新启动我的应用程序才能恢复报告。我对此很陌生,所以提前道歉。有什么东西可以阻止我的服务吗?我尝试将代码插入到服务的“onDestroy”方法中,但没有到达,我正在捕获任何未处理的异常,而且我似乎也没有这些异常。 android os 是否会停止我的服务,或者我的侦听器可能会以某种方式停止?
【问题讨论】:
你能把stacktrace和相关代码贴出来吗? 【参考方案1】:如果内存不足或为空进程,Android 会停止进程。它根据以下重要性删除进程。
首先它杀死IMPORTANCE_EMPTY = 500;
的进程,然后是IMPORTANCE_BACKGROUND = 400;
、IMPORTANCE_SERVICE = 300;
、IMPORTANCE_CANT_SAVE_STATE = 170;
、IMPORTANCE_PERCEPTIBLE = 130;
、IMPORTANCE_VISIBLE = 200;
和IMPORTANCE_FOREGROUND = 100;
你用的是什么手机?如果同时使用了大量应用程序,该框架可以杀死一些后台应用程序以恢复内存。
您可以在onLowMemory 和onTrimMemory 中添加日志,并检查它们是否被调用。另外,将整数参数记录在onTrimMemory
【讨论】:
谢谢!如果服务被杀死,有没有办法重新启动服务?我需要它一直在后台运行。以上是关于Android 定位服务已停止的主要内容,如果未能解决你的问题,请参考以下文章