2013-03-04 52 views
1

我有一些圖像URL,我想在本地緩存並保存,這樣我就不需要一次又一次地根據需要發出Web請求。openreadAsync vs從服務器上下載圖像的位圖

現在,我很困惑使用webclient的openreadasync方法優於位圖獲取第一次將圖像保存到IsolatedStorage中的圖像。

對我來說,我認爲位圖會是一個更好的選擇,因爲我可以獲得進度的事件。

回答

2

本文提供了有關各種圖像緩存選項的更多信息。

http://blogs.msdn.com/b/swick/archive/2011/04/07/image-tips-for-windows-phone-7.aspx

馬特提到一個事實,即默認的圖像緩存只有每個會話的作品。所以如果你正在實現你自己的圖片緩存,那麼你將不得不實現一個圖片下載器,爲此WebClient OpenReadAsync提供了一種在本地存儲文件的方式

如果你不考慮本地緩存,UriSource應該是選擇。

+0

謝謝,我看到了這個問題。也許我沒有正確地構建我的問題,我想知道的是他們在開始時使用openReadAsync而非位圖urisource來獲取圖像的任何好處。我正在維護一位本地圖像教師,以避免獲取相同圖像的多個請求。 主要我想避免在UI線程上做太多工作。 – ua741 2013-03-05 10:16:06

+0

如果要在將文件傳遞到Image之前在本地保存文件,則需要使用HttpWebRequest或WebClient – 2013-03-05 14:35:44

0

如果要緩存超出當前應用程序實例生存期的圖像,請查看http://blogs.msdn.com/b/delay/archive/2010/10/04/there-s-no-substitute-for-customer-feedback-improving-windows-phone-7-application-performance-now-a-bit-easier-with-lowprofileimageloader-and-deferredloadlistbox-updates.aspx,它將顯示將圖像保存到IsolatedStorage然後從那裏顯示的方法。這意味着每次運行應用程序時都不需要通過網絡。

如果您使用這種方法處理大量圖像,請務必管理您保存的圖像,以免將大量舊圖像填充到磁盤中,而這些圖像將不再需要。

相關問題