我正在使用C#中的位图,并使用不安全的BitmapData类直接访问像素数据。
不规律而且没有明显的原因我得到这个错误(很少,可能每小时左右)
尝试读取或写入受保护的内存。这通常表明其他内存已损坏。
当我尝试使用不安全的代码获取/设置像素时会发生这种情况。有办法解决这个问题吗?我在对列表中的Bitmap和BitmapData保持对象引用,所以我不认为它已经被GC破坏了,但GC可能已经移动了它。这可能吗?
请注意,这不会在任何可预测的时间发生(例如在启动时,或初始化时,或运行映像代码时)。什么可能是hapenning?我以为锁定的位图被锁定了,内存不会突然变得难以接近但事实并非如此。有什么想法吗?