在Android上刷新Facebook新闻源



假设我们正在实现一个具有离线功能的新闻提要。每次调用web服务以获取最新帖子后,我们都会在本地SQLite中缓存帖子列表。当我们决定调用web服务时,触发点是什么?我们是否以过期时间为基础?还是后端通过FCM通知应用程序,应用程序启动后台服务来更新本地数据库?

这是一个有点开放的问题,答案是:"要么,取决于上下文和团队的产品决策"。

社交媒体订阅源中的大多数内容,如Facebook的,都是由客户端提取的。它对时间不敏感,客户端(通常(知道什么时候有互联网连接,什么时候没有互联网连接,所以当它再次在线时,它可以简单地请求新内容。何时提取新内容的确切逻辑是由产品决定的,但一些常见的例子是连接状态从脱机变为联机时,用户通过按钮或"提取以刷新"操作进行刷新时,以及X分钟。

也就是说,有时来自服务器的推送是一个有效的设计选择。这种情况通常发生在对时间敏感的情况下,或者新内容非常罕见的情况下。但是,请记住,如果客户端离线,推送不会起任何作用,因此它不会以比简单地从服务器中提取新内容更好的方式解决您知道有新内容的问题。

除此之外,缓存和缓存过期是一个复杂的话题,如果不了解更多关于您的应用程序的信息,我们就无法提供太多建议。为此,我建议您考虑为每个实例绘制一个流程图,您可以想到事件应该导致应用程序提取新内容的位置,而不是查看缓存。关于如何维护远程内容的本地缓存,有很多内容,根据您的优先级,还有很多解决方案。我建议阅读一些关于这些主题的在线文章,以更好地了解各种方法以及每种方法的相关陷阱。

最新更新