android - 仅在从服务器返回的数据更改后更新缓存数据。

标签 android caching android-viewpager android-tabs

在 Android 中,我缓存了一些从 Rest api 调用返回的数据。对于缓存数据,我只想在从 Rest api 调用返回的数据更改后更新它。

我认为有两种可能的方式。

  1. 将返回数据与缓存进行比较,然后进行更新。
  2. 从服务器端为数据更改设置任何标志。

问题:我从服务器获取了类别列表,并基于此在 Android 应用程序中设置选项卡。但是这个类别不太可能改变。我不希望选项卡等待加载,直到从服务器接收到数据。这就是我使用缓存的原因。

请为这种情况提供最佳实现。

最佳答案

理想情况下,您希望使用来自服务器的推送通知让应用知道选项卡结构已更新并获取新数据。这使您可以搭载已保持打开状态的套接字。

一个不太理想的解决方案是缓存最新的响应,然后在显示 View 后检查服务器以查看是否存在更新。下载更新并在更新到达时更改选项卡。

您可以检查端点(针对 update_time 或其他)应用程序的每个状态更改,这样除非类别发生更改,否则只会传输少量数据。

关于android - 仅在从服务器返回的数据更改后更新缓存数据。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32985619/

相关文章:

android - 如何将数据从一项 Activity 传输到另一项 Activity ?

caching - 为什么 Facebook 在 memcached 中使用 TCP 进行 SET 和 UDP 进行 GET

android - 更改 ViewPager 的计数

java - 在Where子句中插入字符串变量

java - 如何添加另一个 Activity 作为登录屏幕android

java - 仅当缓存值不早于当前值时如何更新项目

caching - 与 etag 和多服务器设置保持一致吗?

java - View 中的可绘制对象被压扁

android - 从 Activity 访问 ViewPager 中的 TextView

Android Jetpack WorkManager - 测试 UniquePeriodicWork 执行