访问BitmapData不规律地显示“无法访问受保护的内存”

时间:2013-02-18 23:03:48

标签: c# memory bitmap garbage-collection bitmapdata

我正在使用C#中的位图,并使用不安全的BitmapData类直接访问像素数据。

不规律而且没有明显的原因我得到这个错误(很少,可能每小时左右)

  

尝试读取或写入受保护的内存。这通常表明其他内存已损坏。

当我尝试使用不安全的代码获取/设置像素时会发生这种情况。有办法解决这个问题吗?我在对列表中的Bitmap和BitmapData保持对象引用,所以我不认为它已经被GC破坏了,但GC可能已经移动了它。这可能吗?

请注意,这不会在任何可预测的时间发生(例如在启动时,或初始化时,或运行映像代码时)。什么可能是hapenning?我以为锁定的位图被锁定了,内存不会突然变得难以接近但事实并非如此。有什么想法吗?

0 个答案:

没有答案