我一直在用Java开发服务器端应用程序,现在我被要求提供一些移动应用程序。这个问题总是让我觉得我应该向应用程序发送多少“数据”? 如果我必须传输一个大的xml文档,我应该按节点按节点发送它...如果是的话,它不会消耗更多的手机电池(因为手机将为所有节点创建新的连接)。如果我决定立即发送整个文档,客户端可能需要很长时间才能下载整个文档,并且可能有问题暂时存储...更多,这两个数据副本可能会出现数据不一致。简而言之,我需要知道“移动设备的连接是否过于昂贵?”哪种方法更好 - 通过创建多个连接接收数据,或者在一个连接中一起接收所有数据。
我还需要知道,在为移动客户端开发我的Web服务时,我应该向他们发送图像URI还是图像数据(作为字节数组)?
感谢。
答案 0 :(得分:1)
您应该尽量少下载(次数)。 这个应用程序将回答您的问题。不要下载1000个项目的列表,只加载10个,等待用户向下滚动,然后加载10.缓存项目。
这样做的一个更棘手的方法是注册用户,即下载数据,在开始时,他第一次使用应用程序,它将下载尽可能多的东西,在第一次加载时调用它。注册,用户下载了什么。来自用户的下一个调用u仅向他发送已更改的数据,并使用此数据发送要在客户端设备上执行的更改。
答案 1 :(得分:1)
对于移动客户端,延迟会超过数据包大小。虽然您不应该发送比您将消耗更多的数据,但逐节点并不是一种好的方法。这不是用户体验答案的电池答案。
建立移动设备的最佳方法是找到合适的餐点大小。换句话说,您不会一次发送10,000条记录,但是您不会一次发送一行包含10个项目的网格。
根据图像大小,您应该直接发送图像(base64编码很常见)而不是链接。一个例外是将用户发送到网页并让他们浏览,但是它不再是一个“移动应用程序”,对吗?