最小化应用程序的上传和下载速度

时间:2012-10-18 17:08:42

标签: android file-format

我有安卓库存应用。此时app正通过https与服务器通信。我已经启用了gzip,它正在运行。当用户扫描条形码时,应用程序正在将该代码和电话ID发送到服务器。我是通过XML来做的。然后服务器响应xml包含一些数据。像每个仓库的数量,价格,产品名称。然后用户确认金额,应用程序再次发送到服务器并回复消息(确定,或不正常)。

当库存是通过WiFi时,这不是一个问题,速度是好的,延迟低。但是当库存是通过移动网络时,那么通信就是延迟。我需要创建二进制格式进行通信吗?并且XML数据具有大量开销(不需要的数据,如标签等)。或者有一些标准或最佳实践,通信中的数据量最小化?

3 个答案:

答案 0 :(得分:1)

如果您主要关心的是减少有效负载的大小,那么您肯定希望从XML中查看不同的格式。一个受欢迎的选项是来自Google的protobuf

答案 1 :(得分:1)

您无法从应用调整延迟。您可以使您的有效负载更小,以加快传输,但这是关于它。看看JSON。它比XML更轻量级,几乎所有语言本身都是如此。

答案 2 :(得分:0)

如果客户端向您的服务器发出的请求太多,您可以考虑更改服务器API。例如,在获取库存时,您可以使用单独的API来获取产品类别,然后在获取类别后,您可以发出单独的调用以获取每个类别的产品,每个产品都有一个API来获取详细信息。为了最大限度地减少请求数量,您可以创建一个API,为您提供所有类别,每个类别下的所有产品以及这些产品的详细信息。这种方法将减少客户端和服务器之间的请求数量。

如果有效负载的大小非常大,您可以尝试更轻量级的JSON。