2013-03-04 67 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然后从那里显示的方法。这意味着每次运行应用程序时都不需要通过网络。

如果您使用这种方法处理大量图像,请务必管理您保存的图像,以免将大量旧图像填充到磁盘中,而这些图像将不再需要。