我有一个小型APP,允许用户查看他们为当地酒吧啤酒俱乐部尝试过的啤酒和啤酒信息。
我有4个观看次数。啤酒菜单,所有统计数据,我的统计数据和设置。
最初,我想通过Web服务提取所有数据并在应用程序的初始加载时返回xml,并在整个过程中使用它。
... OR
我可以在需要时拉出我需要的东西。这将导致仅仅拉动我需要的数据,这将更快,但它会导致更多的请求。什么会更好:
a)拉取所有数据,全局存储,根据需要构建视图。 b)在需要时只提取我需要的数据。这意味着如果他们点击啤酒,我会请求啤酒信息。如果他们点击10种不同的啤酒,则会有10种不同的请求。
什么更好?或者甚至是重要的。
答案 0 :(得分:1)
是的,我认为在移动设备上这些决定很重要。
考虑到这些问题,我认为有时候没有正确答案,但这里有一些指示:
它不那么冗长,取决于数据,可能会对速度产生影响。
在我看来,这是所有应用开发的一般指南。你可以做的最糟糕的事情是阻止UI线程。
对于分别加载数据的渐进式UI的编码总是比仅进行批量加载更加繁琐,然后返回所有内容。但额外的工作将真正让您的用户体验更加愉快。
这一点从最后一点开始。我不是说要做一百万个请求,而是尝试在较少的请求之前找到平衡,并根据需要加载数据(这会建议更多的请求)。
尝试并真正考虑用户将如何使用您的应用,看看您是否可以根据用户在特定视图中可能需要更多 THINK 进行一些聪明的预取
即接下来最有可能使用的视图是什么?你能预先获取数据吗?
这最后一部分实际上是微调,会导致大量的反复试验。但最终结果有望成为一个非常棒的应用程序,感觉很快,感觉很好。
答案 1 :(得分:1)
我会在启动时加载缓存数据(如果存在),然后根据需要在后台加载新数据。这可以让您的应用尽可能快速响应。这是在请求VS响应能力和数据可用性方面耗尽电池寿命之间的平衡。我认为余额是使用时间戳缓存信息(如果数据发生变化,如果不是更好),然后根据需要进行更新。