android中的持久缓存进程,howto?

时间:2013-12-03 17:28:13

标签: android performance caching android-intent

我正在为希望使用Android手机作为持久用户位置信息的公司开发应用程序。我创建了一个LocationListener和requestLocationUpdates,生成一个缓存进程,将数据保存到文件中。但是,系统通常会杀死这些进程以弥补其他进程的空间,我想否定这一点。

总之,我希望那些缓存进程能够持久化,并且不要杀死命令(或者停止系统中的kill命令)。已经尝试过的活动无济于事(不断崩溃的应用程序)

现在系统就像这样:

LocationListener listener = new LocationListener(){
    onLocationChanged(){useData;/*congestion avoidance function*/}    

    onStatusChanged()
    {
    if(offline){requestLocationUpdate(/*with new time, to avoid congestion*/)}

    }
}

这是一个非常粗略的草案,希望你能相处。 inbetween有一些功能可以避免电池耗尽和内存拥塞

这个过程很好,有时是持久的。但是其他一些时候电话使用会杀死这个过程,我想避免这种情况。

我对android编程比较陌生,但在其他系统方面有经验。

提前致谢

1 个答案:

答案 0 :(得分:0)

您应该将LocationListener放在Foreground Service中。 Foreground Service是唯一一种在内存不足时系统不会停止的服务类型(它还必须在系统栏中有一个图标)。您可以在Android Documentation

中详细了解它们的实施情况