我有一个对象集合,每个对象都包含一个 BitmapImage。我将此集合绑定到 FlipView。当用户在 FlipView 中翻页时,所选对象的 BitmapInmage 从 ApplicationData 加载,我将前一个对象的 BitmapImage 设置为 null 以释放内存。问题是,内存永远不会被释放,并且应用程序在翻转一段时间后崩溃。当我查看集合时,只有实际项目设置了 BitmapImage,所有其他项目都将其设置为 null。那么如何缓解记忆呢?
我加载图像的方式:
StorageFile s = await ApplicationData.Current.LocalFolder.GetFileAsync(localFilename);
BitmapImage bitmapImage = new BitmapImage();
using (var stream = await s.OpenAsync(FileAccessMode.Read))
{
bitmapImage.SetSource(stream);
}
return bitmapImage;
编辑:我认为问题可能是我加载图像的方式,我猜文件流没有被释放