一张32K的PNG图,循环加载100次,居然耗费了100M的内存~~~.NET如此消耗资源?? 为啥要new Image[100],存银行? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼主说对了,一个32K的png 开成1M的bmp很正常 要不MSDN上说用完后要释放~~~ 废话,你要那么多BITMAP 又不释放。 当然要占内存了。你打开N个程序,系统不也慢。完全瞎搞。 其实你可以用内存管理很好的C来作作看,还有JAVA什么的。 总结贴:“把这张图切出1/4出来,再加载100次,还是占差不多一样的内存”又仔细的测试,这条不成立,不知当时怎么做的,抱歉。重新试了,耗费内存主要和图片的尺寸和颜色深度有关,加载个1024*1024*2M的图片一百次,耗费200多M的内存。结论是加载同样尺寸同样颜色深度的不同格式的图片,耗费内存基本一样。推测起来,图片加载后在内存里展开,这步把内存就给吃了,现在明白了“cancerser(都是混饭吃,记得要结帖)”说的“一个32K的png 开成1M的bmp很正常”中的bmp是什么意思了! 另外有没有哪位能用JAVA试一下呢 按钮事件{ Image[] images = new Image[100]; for (int i = 0; i < images.Length; i++) { images[i] = new Bitmap(@"E:\xxx.png"); //该图32KB }images=null;GC.Collect();}显式回收资源看看, winform datagridview+listbox,仿百度搜索提示效果 能不能通过GDI+把图片或文字绘制到WORD文档中??? 这种奇特的编号该怎么做? 随机生成2亿个01字符用什么存又快又省空间? C#调用C++写的DLL,函数参数的结构体中的结构数组指针怎么传递 怎样把RichTextBox加到 Web窗体中 解决了马上撒分 求救:从DataSet中提取数据。 如何继承 DataRow? 有没有vc中sleep(1000)的等待函数 怎样打开一个XML文件后进行追加数据,而不是重写数据? 请问控制台上写的windows窗体程序程序怎么不能执行? 怎么屏蔽ComboBox消息
当然要占内存了。
你打开N个程序,系统不也慢。
完全瞎搞。
“把这张图切出1/4出来,再加载100次,还是占差不多一样的内存”又仔细的测试,这条不成立,不知当时怎么做的,抱歉。重新试了,耗费内存主要和图片的尺寸和颜色深度有关,加载个1024*1024*2M的图片一百次,耗费200多M的内存。结论是加载同样尺寸同样颜色深度的不同格式的图片,耗费内存基本一样。推测起来,图片加载后在内存里展开,这步把内存就给吃了,现在明白了“cancerser(都是混饭吃,记得要结帖)”说的“一个32K的png 开成1M的bmp很正常”中的bmp是什么意思了!
{
Image[] images = new Image[100];
for (int i = 0; i < images.Length; i++)
{
images[i] = new Bitmap(@"E:\xxx.png"); //该图32KB
}images=null;
GC.Collect();
}显式回收资源看看,