2014-02-25 16 views
0

我正在開發一個Android應用程序,其中有很多http請求服務器來獲取一些數據。我的回覆包括很多圖片以及JSON格式的文本。HttpUrlConnection與HttpResponseCache或Volley在Android中更好的緩存實現

我想使用適當的緩存(如Google Play,Google plus和其他應用程序使用)更快地使我的應用程序工作。

我已經知道android Volley圖書館,並嘗試並開發了一些樣本進行測試,它的服務非常棒,並按預期完美地緩存了我的圖像。但是最近在爲互聯網做相同的研究時,我開始瞭解HttpResponseCache類,其中您爲Http請求響應安裝緩存。

現在我有點困惑,我應該去,我已經嘗試了排球,但沒有嘗試使用HttpResponseCache

我的問題是:

他們是否在內部做同樣的事情?

如果不是,哪一個會更好。

您的專家意見或經驗將節省我的很多時間。

回答

0

我可以告訴我的經驗。我的任務是一樣的。我不得不下載很多圖片和其他請求。我第一次嘗試基於HttpUrlConnection使用HttpResponseCache。它的工作,但下載速度不夠快(12kb圖像已下載約1.5-2秒,這太長了)。所以我不得不尋找新的更快的解決方案。
我知道關於抽象,但不知道它的一些功能,尤其是下載的優先級。主要目的是優先考慮的,所以我開始創建自己的解決方案。我試圖使用Apache HttpClient而不是HttpUrlConnection,並且它顯得更快,同樣的圖像已經從200到300 miliseonds下載。
我無法用HttpUrlConnection實現更快的速度,但由於我不是專家,我認爲出現小錯誤並且HttpUrlConnection可以運行得更快,不幸的是,這個問題對我來說仍然是封閉的。
如果通過Volley源代碼查看,它在API> = 9之後使用HttpUrlConnection類,在API級別9之前使用HttpClient類。我沒有使用抽球測量下載速度,所以我不能說它快或者不是。所以,我得出的結論是什麼,我的解決方案至少耗費了我3到4天的時間,如果我知道凌雲有下載優先權,也許我不必寫它(如果速度太快)。 回答你的問題,是的,Volley也是這樣做的,如果你不需要做特別的事情,你可以使用Volley,這將比編寫自己的解決方案快得多。

+0

但是文檔中說Android Team不再關注'HttpClient',因爲它是非常複雜的實現,他們專注於'HttpUrlConnection'並且它也提供自動緩存。 – pyus13

+0

是的。正如我所說的,Volley使用HttpUrlConnection和常規任務就足夠了,但我使用了這個http://hc.apache.org/httpclient-3.x/。 – cooperok

+0

那你的緩存實現呢? – pyus13

相關問題