【问题标题】:How can I speed up Restlet for Android when using OData?使用 OData 时如何加快 Restlet for Android?
【发布时间】:2010-10-04 18:27:24
【问题描述】:

我正在尝试使用 Restlet for Android 来查询 OData 数据源。但是,我对它在模拟器和真实设备上的性能印象不深。我在包装器AsyncTask 中提出了使 UI 响应的请求,但最终返回对象仍需要 1 多分钟。

我在 LogCat 窗口中得到了很多:

10-04 18:20:41.667: DEBUG/dalvikvm(278): GC freed 7872 objects / 523928 bytes in 279ms

我可以做些什么来加快查询速度?

【问题讨论】:

    标签: java android rest odata restlet


    【解决方案1】:

    查看 odata4j - http://odata4j.org 这是 java 的替代 odata 库,包括与 android 兼容的客户端 api。

    我们刚刚在 0.3 版本中发布了一个简单的 android 客户端示例。此示例演示了一种解析/分页任意 odata 服务的有效方法。

    除了服务驱动的分页(Alex 提到)之外,我们还使用高效的 xml pull 解析器实现来解析 odata 负载(我们发现堆活动/GC 是 android 上最大的性能瓶颈)。

    【讨论】:

      【解决方案2】:

      我知道这对 RESTlet 库的性能没有帮助...但是:

      要考虑的一件事是使用名为Service Driven Paging 的东西。 请注意,这与 $top 和 $skip (又名客户端驱动的分页)不同,因为即使客户端不要求,服务器也会分页。

      当客户端对大型数据集执行未经过滤的查询时,SDP 特别有用。

      这样也许您可以将 7872 的数字降低到更易于管理的水平。

      【讨论】:

      • 我目前正在使用这个。 7872 号码对我来说是个谜。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-15
      • 2021-02-07
      • 1970-01-01
      • 2012-03-30
      • 2015-01-14
      相关资源
      最近更新 更多