在使用 Marshal.AllocHGlobal()申请了非托管的内存时,需要手动释放内存,否则会造成内存泄漏;可以使用 Marshal.FreeHGlobal()将申请的内存释放掉。
代码如下:
IntPtr pBGRbuffer = Marshal.AllocHGlobal((int)frame.frameInfo.size * 3);
Marshal.FreeHGlobal(pBGRbuffer);
pBGRbuffer = IntPtr.Zero;
在使用 Marshal.AllocHGlobal()申请了非托管的内存时,需要手动释放内存,否则会造成内存泄漏;可以使用 Marshal.FreeHGlobal()将申请的内存释放掉。
代码如下:
IntPtr pBGRbuffer = Marshal.AllocHGlobal((int)frame.frameInfo.size * 3);
Marshal.FreeHGlobal(pBGRbuffer);
pBGRbuffer = IntPtr.Zero;