我对这个类有点困惑,希望有人可以解释一下。 我知道它何时下载取决于图片的BitmapCreateOptions。
然而,当你创建一个绝对BitmapImage时:
var Image = new BitmapImage(new Uri("http://...", UriKind.Absolute))
我不会立即下载它,因为延迟创建是默认的BitmapCreateOptions,对吗?
如果你这样做会怎样:
var Image = new BitmapImage(new Uri("http://...", UriKind.Absolute))
Image.CreateOptions = BitmapCreateOptions.None;
在设置其BitmapCreateOptions后,它会立即开始下载图像吗?如果是这样,那么它的行为与此相同,对吗?
var Image = new BitmapImage(new Uri("http://...", UriKind.Absolute)) { CreateOptions = BitmapCreateOptions.None }
好的,现在,BitmapImage 的缓存是如何工作的?
- 什么时候会对 BitmapImage 进行“缓存”?
- 只有下载的例如“绝对”图像会被缓存,还是本地的例如“相对”图像也会被缓存?
- 缓存何时/多久刷新一次?
- 这是否意味着我不需要担心在我的 Windows Phone 项目中手动缓存图像到隔离存储中?
最后,ImageOpened 和 ImageFailed 事件在何时触发?
- 当 BitmapImage 被下载时,它们会被触发吗?
- 或者当 BitmapImage 从缓存中加载时,它们会被触发吗?
- 还是当它们在屏幕上呈现时才会被触发?