[英]How can I speed up Restlet for Android when using OData?
我試圖使用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
我該怎么做才能加快查詢速度?
查看odata4j - http://odata4j.org這是一個替代java的odata庫,包括一個與android兼容的客戶端api。
我們在0.3版本中發布了一個簡單的Android客戶端示例。 此示例演示了解析/分頁任意odata服務的有效方法。
除了服務驅動的分頁(由Alex提到),我們使用高效的xml pull解析器實現來解析odata有效負載(我們發現堆活動/ GC是android上最大的性能瓶頸)。
我知道這對RESTlet庫的性能沒有幫助...但是:
要考慮的一件事是使用稱為服務驅動的分頁的東西。 請注意,這與$ top和$ skip(也稱為客戶端驅動的分頁)不同,因為服務器頁面即使客戶端不要求它也是如此。
當客戶端對大型數據集執行未過濾的查詢時,SDP特別有用。
這樣也許你可以將7872號碼降低到更易於管理的數字。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.