Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

The solution to the problem of memory release in .NET BitmapImage

2025-01-15 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Development >

Share

Shulou(Shulou.com)06/03 Report--

This article introduces the relevant knowledge of "the solution to the memory release problem of .NET BitmapImage". In the operation of actual cases, many people will encounter such a dilemma, so let the editor lead you to learn how to deal with these situations. I hope you can read it carefully and be able to achieve something!

Most of the codes found on the Internet are written in MemoryStream:

The copy code is as follows:

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 ()

The problem comes today, when I set DecodeWidth to 100 to load 1000 pictures, the memory should maintain 1000 pictures, but in fact he retained the memory of all the original pictures until the BitmapImage was recycled, which made me very embarrassed, in other words, using (MemoryStream) did not really release the Buffer in the MemoryStream as we expected, so how can it be released?

In fact, the simplest thing is to simply abandon MemoryStream and switch to FileStream, as follows:

The copy code is as follows:

Using (var stream = new FileStream (path, FileMode.Open)) {

Image.BeginInit ()

Image.StreamSource = stream

Image.DecodePixelWidth = 100

Image.CacheOption = BitmapCacheOption.OnLoad

Image.EndInit ()

Image.Freeze ()

}

This is the end of the content of "the solution to the memory release problem of .NET BitmapImage". Thank you for reading. If you want to know more about the industry, you can follow the website, the editor will output more high-quality practical articles for you!

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Development

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report