C# 通过文件选择器加载大量图像时出现内存不足异常

C# 通过文件选择器加载大量图像时出现内存不足异常,c#,out-of-memory,windows-phone-8.1,C#,Out Of Memory,Windows Phone 8.1,Windows Phone 8.1: foreach (StorageFile file in ImageFiles) { ClassForFolderImages CFFI = new ClassForFolderImages(); using(var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read))

Windows Phone 8.1:

foreach (StorageFile file in ImageFiles)
            {

                ClassForFolderImages CFFI = new ClassForFolderImages();
                using(var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read))
                {
                 var bitmapImage = new Windows.UI.Xaml.Media.Imaging.BitmapImage();

                 bitmapImage.DecodePixelWidth = 80;
                 bitmapImage.DecodePixelHeight = 80;
                 await bitmapImage.SetSourceAsync(stream);

                 CFFI.imageForFolder = bitmapImage;

                 GridViewName.Add(CFFI);
                }
            }
在上面的代码片段中,“ImageFiles”包含大量图像,“GridViewName”是可观察集合的名称,稍后我将其绑定到我希望在其中显示这些图像的网格视图。 ClassForFolderImages类如下所示:

public class ClassForFolderImages : INotifyPropertyChanged
{
    public event PropertyChangedEventHandler PropertyChanged;


    private BitmapImage img;

    public BitmapImage imageForFolder
    {
        get { return img; }

        set
        {
            img = value;
            FirePropertyChangedEvent("imageForFolder");
        }
    }


    public ClassForFolderImages()
    {

    }

    private void FirePropertyChangedEvent(string propertyName)
    {

        if (PropertyChanged != null)
            PropertyChanged(this, new PropertyChangedEventArgs(propertyName));

    }

}
此代码段在手机模拟器和设备上的少量图像中运行良好,但在设备上-当图像数量在某个点增加时,它开始抛出以下错误(在App.g.i.cs处中断):


有人能提出解决此问题的建议吗?

完成后是否处理流?请尝试。不起作用。除了通过处理流来实际清理图像外,我建议只在实际可见的图像中进行流式处理,并向上和向下设置合理的缓冲区。同意J.Steen的观点。寻呼是你的方式,不能这样。一次需要所有的图像。
Exception = The function evaluation was disabled because of an out of memory exception.
Handled = The function evaluation was disabled because of an out of memory exception.
Message = The function evaluation was disabled because of an out of memory exception.