欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于.NET BitmapImage 內(nèi)存釋放問題的解決方法詳解

 更新時間:2013年05月15日 12:08:42   作者:  
本篇文章是對.NET BitmapImage 內(nèi)存釋放問題的解決方法進行了詳細的分析介紹,需要的朋友參考下

網(wǎng)上查到的代碼,多數(shù)的寫法使用MemoryStream來實現(xiàn):

復制代碼 代碼如下:

new Thread(new ThreadStart(() => {
    var bitmap = new BitmapImage();
    bitmap.BeginInit();

    using (var stream = new MemoryStream(File.ReadAllBytes(...))) {
        bitmap.StreamSource = stream;
        bitmap.CacheOption = BitmapCacheOption.OnLoad;
        bitmap.EndInit();
        bitmap.Freeze();

    }
    this.Dispatcher.Invoke((Action)delegate {
        Image1.Source = bitmap;

    });

})).Start();


今天問題來了,當我設置了DecodeWidth為100時加載1000張圖片,照理說內(nèi)存應該維持100×100的1000張圖片,但事實上他保留了所以原始圖片的內(nèi)存直到BitmapImage被回收時才釋放,這讓我很尷尬,換句話說using(MemoryStream)并沒有真正按我們預期釋放MemoryStream中的Buffer,那如何才能釋放呢?
其實最簡單就是直接棄用MemoryStream轉投FileStream,如下:
復制代碼 代碼如下:

using (var stream = new FileStream(path, FileMode.Open)) {
    image.BeginInit();
    image.StreamSource = stream;

    image.DecodePixelWidth = 100;

    image.CacheOption = BitmapCacheOption.OnLoad;
    image.EndInit();
    image.Freeze();
}


相關文章

  • asp.net core MVC 過濾器之ActionFilter過濾器(2)

    asp.net core MVC 過濾器之ActionFilter過濾器(2)

    這篇文章主要為大家詳細介紹了asp.net core MVC過濾器之ActionFilter過濾器,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • ASP.NET Core+Docker+Jenkins實現(xiàn)持續(xù)集成的完整實例

    ASP.NET Core+Docker+Jenkins實現(xiàn)持續(xù)集成的完整實例

    這篇文章主要給大家介紹了關于ASP.NET Core+Docker+Jenkins實現(xiàn)持續(xù)集成的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-05-05
  • .net實現(xiàn)動態(tài)驗證碼功能

    .net實現(xiàn)動態(tài)驗證碼功能

    這篇文章主要介紹了.net實現(xiàn)動態(tài)驗證碼功能,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • ASP.NET MVC 2右鍵菜單和簡單分頁實例講解

    ASP.NET MVC 2右鍵菜單和簡單分頁實例講解

    在這里我們將討論的是通過一個插件實現(xiàn)ASP.NET MVC 2中的右鍵菜單和一個相當簡單的分頁,希望對大家有所幫助。
    2015-09-09
  • VS2012/VS2013本地發(fā)布網(wǎng)站問題集錦(HTTP錯誤代碼)

    VS2012/VS2013本地發(fā)布網(wǎng)站問題集錦(HTTP錯誤代碼)

    這篇文章主要為大家詳細介紹了VS2012/VS2013本地發(fā)布網(wǎng)站遇到問題,HTTP錯誤代碼的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • Asp.net TextBox的TextChanged事件使用介紹

    Asp.net TextBox的TextChanged事件使用介紹

    動態(tài)創(chuàng)建的控件是如何加載視圖狀態(tài),還提到ProcessPostData方法的調(diào)用,這里我就用TextBox的TextChanged事件來說說視圖數(shù)據(jù)的加載以及事件的觸發(fā)
    2012-12-12
  • asp.net 支持多語言站點的實現(xiàn)方法

    asp.net 支持多語言站點的實現(xiàn)方法

    asp.net 支持多語言站點的實現(xiàn)方法,對于想用asp.net做多語言網(wǎng)站的朋友可以參考下,充分發(fā)揮asp.net的功能。
    2010-03-03
  • APS.NET MVC4生成二維碼簡單解析

    APS.NET MVC4生成二維碼簡單解析

    這篇文章主要介紹了APS.NET MVC4二維碼的生成過程,需要的朋友可以參考下
    2015-11-11
  • asp.C#實現(xiàn)圖片文件與base64string編碼解碼

    asp.C#實現(xiàn)圖片文件與base64string編碼解碼

    前些天在opera論壇里面當了個flashblocker腳本文件,顧名思義,就是把網(wǎng)頁中的flash給過濾了,過濾之后呢就會在原位置顯示一張圖片,以前用firefox時的flash過濾插件也是這樣,而且顯示的圖片也一樣,一樣的難看,于是就想換換它。
    2010-03-03
  • ASP.Net 分頁控件源碼

    ASP.Net 分頁控件源碼

    由于.net自帶的分頁功能極其死板,自定義性不強不能滿足需求 俺花了一個多星期的時間 寫成的一個.net分頁控件
    2007-03-03

最新評論