一:背景
1. 讲故事

在.NET高级调试的旅程中,我常常会与 Bitmap 短兵相接,它最大的一个危害就是会让程序抛出匪夷所思的 OutOfMemoryException,也常常会让一些.NET开发者们陷入其中不能自拔,痛不欲生,基于此,这一篇我从dump分析的角度给大家深挖一下 Bitmap 背后的故事。
二:Bitmap 背后的故事
1. Bitmap 能吃多少内存
相信有很多朋友都知道 bitmap 吃的是非托管内存,但相信也有很多朋友不知道这玩意竟然能吃掉bitmap自身大小的几十倍,甚至上百倍。可能这么说有点抽象,举一个例子说明一下,用 chatgpt 生成的参考代码如下:
static void Main(string[] args)
{
// 创建一个新的Bitmap对象,大小为100x100像素
Bitmap bitmap = new Bitmap(21000, 21000);
// 获取Bitmap的Graphics对象,用于绘制
using (Graphics g = Graphics.FromIm
订阅专栏 解锁全文
1148

被折叠的 条评论
为什么被折叠?



