none
WPF显示大图片 内存溢出 OutOfMemory RRS feed

  • 问题

  • 使用场景:

    WPF显示一张动态生成的Bitmap图片,图片尺寸比较大 (大概有7000×7000像素)。

    根据需要,会不断的改变刷新图片。

    问题:

    很容易就会OutOfMemory溢出。

    使用情况:

    根据实际生成System.Drawing.Bitmap对象以后save到MemoryStream,然后再使用
    BitmapFrame.Create(memoryStream)生成BitmapSource,将其设置为Image的Source.


    不知道有没有人碰到过这个问题啊?如果有解决方案的话,非常感谢您的分享!

    2013年8月15日 12:09

答案

  • 您好!

    从您的描述中知道您遇到这样一个问题,在不断刷新尺寸比较大的图片时很容易出现OutOfMemory的异常。

    我猜想我们是否可以采用这样一种方式来解决。分段加载资源的方式。因为图片的像素很高(7000*7000),我想一般电脑屏幕不会一下子显示这么大,我们可以只初始化显示的这一部分,不显示的部分不加载,这样可以节约很多内存资源。

    下面有一个类似的问题的链接,供您参考:

    http://social.microsoft.com/Forums/zh-CN/cfa4337f-d856-471c-92dc-07d75ef538d4

    谢谢!


    <THE CONTENT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, WHETHER EXPRESS OR IMPLIED>
    Thanks
    MSDN Community Support

    Please remember to "Mark as Answer" the responses that resolved your issue. It is a common way to recognize those who have helped you, and makes it easier for other visitors to find the resolution later.

    2013年8月17日 12:02
    版主