关于Image一些比较抽象的东西(Build Type与 同步以及异步加载的差异)

图片的Build Type不同 则URI格式也不同:

注意:设置成”Content“会让程序启动更快,设置成”Resource“会让程序更快的响应。

         

  Content: <Image Source="/ImagesAsContent/smiley1.png"/> 

  Resource: <Image Source="..\ImagesAsResource\smiley3.png"/> 

 

Bitmapimage有两种图片加载模式:

BitmapImage.UriSource = uriSource; // loads the image via URI, asynchronously   异步加载
BitmapImage.SetSource(stream); // loads the image from stream, synchronously 同步加载

    1.如果同步加载一张不正确的图片文件,将会得到一个异常。

     2.如果异步加载一张不正确的图片文件,ImageFailed事件会触发。

     3.如果异步加载一张正确的图片文件,ImageOpened事件会触发。

     4.如果同步加载一张正确的图片文件,ImageOpened事件不会触发。

 

在程序的运行过程中,图片缓存会一直占用内存空间。不过也可以通过下列代码删除缓存信息:

BitmapImage bitmapImage = image.Source as BitmapImage;

  bitmapImage.UriSource = null;

  image.Source = null;

 

 

 

posted @ 2012-06-18 11:34  銱ル╬鎯噹  阅读(198)  评论(0编辑  收藏  举报