您好,我正在从包含三个字符串的Web服务中恢复一些项目。其中之一是图像的路径。现在,当我开始将图像加载到列表框中时,预期的内存开始上升,这也不错。但当我按下后退按钮时,内存仍然非常高。
我认为这与我没有释放图像占用的资源这一事实有关。这个想法来自这个答案=> Question
有谁知道如何手动释放这些资源?
答案 0 :(得分:0)
Image或BitmapImage类没有Dispose()方法,因此您可以做的最好的事情就是处理您要获取数据的流。但是我个人会在其他地方寻找问题,因为图像应该自动GC(事实上,它们会这样做)。
可能存在从外部绑定到您的网页的事件处理程序,导致GC无法收集它,例如您可以在应用程序设置中引用该页面。或者GC不会立即收集转储的对象但是等待特定的时间 - 尝试向后/向前移动几次,看看内存是否会上升和上升。
无论如何,没有必要/有能力手动释放Image / BitmapImage所占用的资源(只有相应的Stream,由于它在图像中缓存,因此通常不提供结果)。