Android 如何加速消耗大量API数据的移动应用程序?

Android 如何加速消耗大量API数据的移动应用程序?,android,api,performance,Android,Api,Performance,我构建了一个社交型移动Android应用程序。由于特定的请求,应用程序几乎在每个屏幕上都会联系远程API。因此,我觉得应用程序很慢 这样的应用程序的最佳设计是什么?我应该有一个特殊的服务来处理所有的API请求和响应吗?如果是,用户将看不到“数据加载”信息,但他们仍然必须看到从服务器端刷新的最准确的数据。我应该如何做到这一点 理想情况下,我希望拥有与UX相同的顶级应用程序,用户只需按下按钮在屏幕上做一些事情,数据就可以在不知情的情况下与服务器端同步 注意:我知道如何从技术上做到这一切。我问的是解决

我构建了一个社交型移动Android应用程序。由于特定的请求,应用程序几乎在每个屏幕上都会联系远程API。因此,我觉得应用程序很慢

这样的应用程序的最佳设计是什么?我应该有一个特殊的服务来处理所有的API请求和响应吗?如果是,用户将看不到“数据加载”信息,但他们仍然必须看到从服务器端刷新的最准确的数据。我应该如何做到这一点

理想情况下,我希望拥有与UX相同的顶级应用程序,用户只需按下按钮在屏幕上做一些事情,数据就可以在不知情的情况下与服务器端同步


注意:我知道如何从技术上做到这一切。我问的是解决这个问题的最佳方法

他们是否在每个屏幕上为相似的数据使用相同的API?如果是这样,缓存可能会大有帮助。因此,可能需要预加载数据,如果他们可能需要,则提前请求数据。当然,由于数据上限的原因,预加载应该是一种设置。尽管我觉得这个问题模棱两可,但我还是想谈谈我自己对社交平台的看法。在Facebook或Instagram等应用程序中,我可以看到它们何时从API加载信息。他们对帖子进行大量缓存,因此当你打开应用程序时,你会看到一些帖子在他们从API中实际检索到新帖子之前已经弹出,这发生在几秒钟之后。同样,对于
之类的操作,如
注释,它们会立即更改UI,然后异步发送请求,然后在需要更新时更新UI。这就是为什么没有加载。预加载是在需要信息之前请求信息并存储它。假设您正在编写web浏览器。您可以在用户单击链接之前下载指向的页面链接,因此当用户单击链接时,您已经下载了链接,并且只需要显示它们。关于
预加载
,我同意@Gabe。您可以预加载您认为将来需要的数据,并将其保存在缓存中,如果需要,可以使用它。然而,正如Gabe所提到的,应该有一个关闭它的选项,因为一些用户可能不想要它,因为数据限制。但就我个人而言,我不认为Facebook或Instagram有预加载功能。@sandalone由于我们无法访问他们的源代码,我无法确定他们是否有预加载功能。然而,如果他们这样做了,它将是如此数据密集,他们可能已经实现了一个选项来覆盖该行为。此外,以Instagram为例,我没有看到任何明显的预加载迹象。他们只是把我认为必要的东西装进去。然而,这可能是因为我对软件工程的知识不足,我没有看到预加载。。。