【发布时间】:2017-05-03 07:57:14
【问题描述】:
我的代码是从 dll 中的 .resx 文件中加载资源。它会很好地加载资源,直到达到 40 左右,然后它开始抛出内存异常。谁能向我解释为什么会这样?还有怎么解决?
编辑:
我通过将解决方案中的所有项目更改为 64 位来解决我的问题。
谢谢
/// <summary>
/// Loads all default resources.
/// </summary>
/// <returns></returns>
private static List<Bitmap> LoadAllInternalResources()
{
List<Bitmap> Ret = new List<Bitmap>();
#region Spades
Ret.Add(MainResources.MainResources._50);
Ret.Add(MainResources.MainResources._46);
Ret.Add(MainResources.MainResources._12);
Ret.Add(MainResources.MainResources._38);
Ret.Add(MainResources.MainResources._34);
Ret.Add(MainResources.MainResources._30);
Ret.Add(MainResources.MainResources._26);
Ret.Add(MainResources.MainResources._22);
Ret.Add(MainResources.MainResources._18);
Ret.Add(MainResources.MainResources._14);
Ret.Add(MainResources.MainResources._10);
Ret.Add(MainResources.MainResources._6);
Ret.Add(MainResources.MainResources._2);
#endregion Spades
#region Clubs
Ret.Add(MainResources.MainResources._49);
Ret.Add(MainResources.MainResources._45);
Ret.Add(MainResources.MainResources._41);
Ret.Add(MainResources.MainResources._37);
Ret.Add(MainResources.MainResources._33);
Ret.Add(MainResources.MainResources._29);
Ret.Add(MainResources.MainResources._25);
Ret.Add(MainResources.MainResources._21);
Ret.Add(MainResources.MainResources._17);
Ret.Add(MainResources.MainResources._13);
Ret.Add(MainResources.MainResources._9);
Ret.Add(MainResources.MainResources._5);
Ret.Add(MainResources.MainResources._1);
#endregion Clubs
#region Hearts
Ret.Add(MainResources.MainResources._51);
Ret.Add(MainResources.MainResources._47);
Ret.Add(MainResources.MainResources._43);
Ret.Add(MainResources.MainResources._39);
Ret.Add(MainResources.MainResources._35);
Ret.Add(MainResources.MainResources._31);
Ret.Add(MainResources.MainResources._27);
Ret.Add(MainResources.MainResources._23);
Ret.Add(MainResources.MainResources._19);
Ret.Add(MainResources.MainResources._15);
Ret.Add(MainResources.MainResources._11);
Ret.Add(MainResources.MainResources._7);
Ret.Add(MainResources.MainResources._3);
#endregion Hearts
#region Diamonds
Ret.Add(MainResources.MainResources._52);
Ret.Add(MainResources.MainResources._48);
Ret.Add(MainResources.MainResources._44);
Ret.Add(MainResources.MainResources._40);
Ret.Add(MainResources.MainResources._36);
Ret.Add(MainResources.MainResources._32);
Ret.Add(MainResources.MainResources._28);
Ret.Add(MainResources.MainResources._24);
Ret.Add(MainResources.MainResources._20);
Ret.Add(MainResources.MainResources._16);
Ret.Add(MainResources.MainResources._12);
Ret.Add(MainResources.MainResources._8);
Ret.Add(MainResources.MainResources._4);
#endregion Diamonds
#region Jokers
Ret.Add(MainResources.MainResources._54);
Ret.Add(MainResources.MainResources._53);
#endregion Jokers
return Ret;
}
【问题讨论】:
-
图片有多大?曾经有一组非常好的 72x96 卡可以轻松加载到 ImageList 或从磁盘 v 中。该网站已消失,但我确信有人将其缓存/镜像到某处
-
图片非常大,每张大约 365K。我猜我可能会达到 32x 程序允许的最大内存量。会检查的。
标签: c# .net memory bitmap resources