【问题标题】:minimize upload and download speed for application最小化应用程序的上传和下载速度
【发布时间】:2012-10-18 17:08:42
【问题描述】:

我有安卓库存应用。此时应用程序正在通过 https 与服务器通信。我已经启用了 gzip 并且它正在工作。当用户扫描条形码时,应用程序会将该代码和手机 ID 发送到服务器。我通过 XML 来完成。然后服务器响应 xml 女巫包含一些数据。就像每个仓库的数量是,价格,产品名称。然后用户确认金额,应用程序再次发送到服务器并回复消息(ok,or not ok)。

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

【问题讨论】:

    标签: android file-format


    【解决方案1】:

    如果您主要关心减少有效负载的大小,那么您肯定希望查看与 XML 不同的格式。一种流行的选择是来自 Google 的protobuf

    【讨论】:

    • “延迟”是什么意思?之间的延迟是什么?网络延迟显然不在您的控制之下。您可以控制的是您在客户端和服务器之间来回切换的次数、有效负载的大小以及服务器运行的代码的性能。
    【解决方案2】:

    您无法通过应用调整延迟时间。您可以使有效载荷更小以加快传输速度,仅此而已。查看 JSON。它比 XML 更轻量级,几乎所有语言都支持它。

    【讨论】:

      【解决方案3】:

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

      如果payload真的很大,可以试试更轻量级的JSON。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-08-29
        • 2011-01-11
        • 2014-02-17
        • 1970-01-01
        • 2011-05-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多