使用OData时,如何加速Restlet for Android?

时间:2010-10-04 18:27:25

标签: java android rest odata restlet

我正在尝试使用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

我该怎么做才能加快查询速度?

2 个答案:

答案 0 :(得分:4)

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

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

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

答案 1 :(得分:0)

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

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

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

也许你可以将7872号码降低到更易于管理的数字。