定期在后台通过 Web 服务 API 查找链接/资源和连接服务器的方法,并检查服务器上更新数据的可用性,而不是每次都解析服务器响应。
我有一台服务器,其中有一些数据并将在一个月内更新。我在它上面公开了一个服务,它被 android 应用程序使用。因此,为了减少服务器负载和提高电池电量,我想定期调用该服务以检查最新数据是否可用。
如果有人能帮我解决这个问题,我将不胜感激。
最佳答案
最好的机会是使用 GCM来自服务器的消息,在这种情况下,可以使用的逻辑如下:
- Android 设备向 GCM 服务注册并请求初始数据
- 服务器记录特定 Android 设备最后一次更新每项数据的时间
- 在每次数据更新时,服务器都会向注册的设备发送一条消息
- 设备请求新数据
- 服务器使用上次更新日志只发送新数据并更新更新日志
另一个不错的选择是使用 Android Sync Adapter具有更长的刷新间隔。
- 在服务器的每个响应中,发送最后更新的日期
- 设备将发送此数据以及更新数据请求,即
/request/data?last_update=[epoch_here]
- 服务器搜索比指定日期更新的数据,如果没有找到任何数据,它会返回
304 Not Modified
您可以组合上述选项,以便使用 GCM 进行更快的更新,并在设备确实收到 GVM 消息的情况下(即如果设备在特定时间段内未使用)间隔很长。
关于android - 定期连接到服务器并检查更新可用性的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25054940/