


















做Wince项目时遇到的问题,
将相机拍摄的图像从SD卡读入BitMap,然后在克隆给PictureBox;即:Bitmap bmp=new Bitmap(FilePath); Picture.Image=(Image)bmp.Clone();bmp.Dispose();查看前2张图片没有问题,第3张图片时就报内存溢出了.
尝试了多种释放资源的方式,包括GC强制回收都没有效果,后来看到别人C++代码里面对BitMap位图操作时,采用DeleteObject进行释放的。我也在C#里进行了尝试,还真释放干净了;记录这里备忘;
[DllImport("coredll.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern bool DeleteObject(IntPtr hgdiobj);
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。