【发布时间】:2011-01-31 20:41:39
【问题描述】:
好吧,我想我得制作一个与我在Out of memory exception while loading images找到的问题相关的三部曲
所以第二部分来了。
根据上面提到的帖子找到的答案 - cmets,迟早任何计算机都会在执行我的代码时耗尽内存。 :(
但是感谢Google,我找到了一种在作者所说的地方应用WrappingStream Implementation.的方法
BitmapImage 保留对 源流(大概是这样 您可以阅读 StreamSource 属性 在任何时候),所以它保持 MemoryStream 对象活着。 不幸的是,即使 MemoryStream.Dispose 已被调用, 它不会释放字节数组 内存流换行。所以,在这个 情况下,位图引用流, 这是引用缓冲区,可能 占用大量空间 大对象堆。请注意,那里 不是真正的内存泄漏;当有 不再引用位图,所有 这些对象将(最终)是 垃圾收集。但是由于位图 已经制作了自己的私人副本 图像的(用于渲染),似乎 相当浪费 现在不必要的原始副本 位图仍在内存中。
所以这里有几个问题。 (在开始投票之前,请记住我是新手!)
我可以使用 WrappingStream 类来避免内存不足错误吗? 如果第一个是真的,我该如何采用它并使它与我的example? 一起使用
谢谢
【问题讨论】:
标签: c# .net vb.net filestream out-of-memory