我有一些图像 url,我想在本地缓存并保存,这样我就不需要根据需要一次又一次地发出 Web 请求。
现在,我很困惑第一次使用 webclient 的 openreadasync 方法而不是位图来获取图像并将其保存到独立存储中是否有任何显着的好处。
对我来说,我认为位图会是一个更好的选择,因为我将能够获得进展的事件。
我有一些图像 url,我想在本地缓存并保存,这样我就不需要根据需要一次又一次地发出 Web 请求。
现在,我很困惑第一次使用 webclient 的 openreadasync 方法而不是位图来获取图像并将其保存到独立存储中是否有任何显着的好处。
对我来说,我认为位图会是一个更好的选择,因为我将能够获得进展的事件。
这篇文章提供了有关各种图像缓存选项的良好信息。
http://blogs.msdn.com/b/swick/archive/2011/04/07/image-tips-for-windows-phone-7.aspx
Matt 提到默认图像缓存仅适用于每个会话的事实。因此,如果您正在实现自己的图像缓存,那么您将必须实现一个图像下载器,WebClient OpenReadAsync 为其提供了一种在本地存储文件的方法
如果您不考虑本地缓存,那么 UriSource 将是您的选择。
If you want to cache images beyond the current application instance lifetime, have a look at 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 which will show a way of saving the images to IsolatedStorage
and then display it from there. This means you won't have to get it over the network each time the app is run.
If you're using this for lots of images be sure to manage the images you save as well so you don't fill up the disk with lots of old images you'll never need again.