我的应用程序打电话给 getFromLocationName 来自 android.location.Geocoder; 类,目前在我的活动中处理了这一点,该活动还显示了有关该调用结果的一些数据。

例如,这可能会很慢,例如,在活动加载之前,首先必须完成各种呼叫,并且依赖于网络连接。

一旦得到结果,我真的不需要刷新(我的意思是地点和地理坐标的频率都会发生变化?)

我的问题 :如何最好避免每次应用程序运行时都必须查询此数据。我应该使用将它们全部加载到启动时的服务做点什么? (如果必须查询50次以上的时间,可能会很慢)。还是我应该拨打电话,将结果存储在SQL中,然后在我当前不持有结果时才在下次查询?

有帮助吗?

解决方案

如果您想快速缓存,我建议将最新结果存储在SQLITE数据库中。您甚至可以使用 peferencemanager 如果您不需要数据库,请快速存储。只需存储最新的坐标和DateTime,然后检查DateTime在X分钟或X小时后是否已过期(如果您想做的话)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top