我有一个 Android 应用程序,它在启动时会膨胀 MapView,获取用户的位置,然后向我的服务器发出请求,以在其位置的某个半径范围内以 JSON 格式获取所有兴趣点 (POI),并在地图上绘制这些点。我希望用户能够在地图上平移并在超出初始数据负载时看到更多的兴趣点负载,就像谷歌地图一样。
我最初的想法是处理平移事件,当平移停止时,获取地图中心,并在该位置的某个半径范围内向 POI 发出另一个服务器请求。在我看来,这将很快达到发送冗余数据并发出不必要的服务器请求的地步。
我正在寻找一种缓存策略,我可以在其中发出获取新数据的请求,但不必对相同的数据发出额外的请求。我的 POI 也不会经常更改,因此缓存将是加速我的应用程序后续启动的理想选择。有没有针对这种事情的最佳实践?还是更喜欢预先提出更大的数据请求并在必要时获取新数据?