gpt4 book ai didi

WPF BitmapImage 不处理

转载 作者:行者123 更新时间:2023-12-04 02:43:30 29 4
gpt4 key购买 nike

我已经从文件流数据库中加载了一个图像列表。当我最初加载它们时,内存跳跃并没有那么大。当我在屏幕上显示它们时,我的内存使用量会激增,即使在我处理 BitmapImage 流源并将其设置为 Nothing 后也不会消失。

    Dim newItem As New MIdentifiedImage
Dim data As Byte() = dt.Rows(i).Item("ScannedImage")
Dim strm As New MemoryStream(data)

Dim bi As New BitmapImage()
bi.BeginInit()
bi.StreamSource = strm
bi.EndInit()
bi.Freeze()
newItem.ScannedImage = bi

这是我的处理代码

  For Each img In InvoiceObj.ImageList
img.ScannedImage.StreamSource.Dispose()
img.ScannedImage.StreamSource = Nothing

Next

所以我的分析器说内存使用率很低,但是当我检查我的任务管理器时,内存使用率非常高。如果我继续加载超过 1.5GB 内存的图像,它就会停止在屏幕上显示图像。

最佳答案

您还需要清除 ImageList。仅将 StreamSource 设置为 null 不会导致它删除已加载的数据。通过在完成后清除 ImageList,您允许 GC 也清除实际的 BitmapImage 实例。

关于WPF BitmapImage 不处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19364881/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com