我有一个问题基本上可以概括为:
Byte[] barr = new Byte[25 * 1024 * 1024];
// use barr
问题是这会导致内存不足异常。
一个简单的解决方案可能是“按 block ”分配此内存并一次处理一个 block ,但我不能这样做,因为我正在使用一个外部库,该库希望将所有数据作为一个整体进行处理。
有关应用程序的更多详细信息:
- 要处理的数据是激光成像仪(EMDK框架)获得的Bitmap
- 我处理位图,保存在位图的每个第三个字节的“barr”中
- 我将“barr”传递给执行梯度分析并返回有效/无效的外部库
- 循环直到有效并保存位图
不使用该外部库不是一个可行的解决方案! (不幸的是)
最佳答案
是否可以按像素行验证位图?如果当前行无效,则插入下一行,直到收到有效回复?
关于c# - .NET CF 内存不足异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9484035/