Wince 或Windows平台 C#調用Bitmap對象后資源應該如何釋放


做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);
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM