Windows phone 8 System.OutOfMemory BitmapImage WP8

Windows phone 8 System.OutOfMemory BitmapImage WP8,windows-phone-8,out-of-memory,bitmapimage,Windows Phone 8,Out Of Memory,Bitmapimage,创建bitmapimage列表时出现OutOfmemory错误 我该怎么做 谢谢你的帮助;) 这是我的密码: foreach (var bytearray in imageDataBlocksPresta) { if (bytearray != null) { MemoryStream ms; using (ms = n

创建bitmapimage列表时出现OutOfmemory错误

我该怎么做

谢谢你的帮助;)

这是我的密码:

     foreach (var bytearray in imageDataBlocksPresta)
            {
                if (bytearray != null)
                {
                    MemoryStream ms;
                    using (ms = new MemoryStream(bytearray, 0, bytearray.Length))
                    {
                        BitmapImage photo = new BitmapImage();
                        photo.DecodePixelHeight = 800;
                        photo.DecodePixelWidth = 624;
                        photo.SetSource(ms);//ERROR

                        listphotoPresta.Add(photo);
                    }
                }

                else//si photo null
                {
                    BitmapImage photo = new BitmapImage();
                    photo.DecodePixelHeight = 800;
                    photo.DecodePixelWidth = 624;
                    photo.UriSource = new Uri("/Images/NoImageIcon.jpg", UriKind.RelativeOrAbsolute);

                    listphotoPresta.Add(photo);

                }
  • 不要总是创建NoImageIcon。仅使用一个引用
  • 不要试图将所有图像存储在内存中。这是一部手机
  • 将应用程序限制在内存至少为512MB的设备上
  • 存储较低的再溶解图片。800*600在许多设备上都是全屏的
  • 按需加载图像
  • 发布图像后立即调用GC

尝试将photo设置为null,并在添加后调用GC.Collect()。像这样:

listphotoPresta.Add(photo);

photo = null;
GC.Collect();

名为“photo”的对象不是我的UI对象…我有一个具有bitmapimage属性的模型。我得到了一个实例列表和一个bitmapimage列表。在我将bitmapimage列表中的每个对象分配给模型对象列表中的对象之后…Sry for my English您有多少字节数组?错误发生在第一次foearch迭代中还是以后(何时)?当已将多张照片添加到列表中时,会发生错误。字节数组的长度在30k到40k之间。导致错误发生的不是照片大小,而是所有字节数组的总和。