我有一个字节数组的图像,想要在UI中显示它们。
我的代码有效,但需要大量内存,大约10张图片应用程序崩溃。
foreach (var cake in cakes)
{
var bytes = await Helper.GetImage(cake.Url);
if (bytes != null)
{
using (MemoryStream memoryStream = new MemoryStream())
{
await memoryStream.WriteAsync(bytes, 0, bytes.Length);
using (var ras = memoryStream.AsRandomAccessStream())
{
ras.Seek(0);
await this.Dispatcher.RunAsync(CoreDispatcherPriority.Low, () =>
{
WriteableBitmap writeableBitmap = new WriteableBitmap(120, 120);
writeableBitmap.SetSource(ras);
cake.Thumbnail = writeableBitmap;
});
}
}
}
}
返回的bytes
值是一个完整尺寸的图像,但我想将它作为缩略图来占用更少的内存。
我也在探查器Cycle Detected
中看到了。
如何以更优化的方式获取图像字节数组的缩略图?我的代码中导致内存泄漏的问题是什么?