读图像出现内存不足

十里桃花一壶酒 2013-02-01 09:03:17
本人的一个程序在其中间部分需要读入一个600MB左右的图像,在读入此图像之前我把之前所有的内存都释放了(此时任务管理器中显示还有很多内存),但是这时候我给这幅图像分配空间的时候就会出现内存不足?请各位编程牛人分析原因,并给出解决之道,本人万分感谢!
...全文
321 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
laviewpbt 2013-02-01
  • 打赏
  • 举报
回复
大图像基本没办法了,只有分块处理,但是一旦分块,处理起来特麻烦。
  • 打赏
  • 举报
回复
引用 3 楼 laviewpbt 的回复:
这个与你的剩余多少内存没有直接关系,而与系统能够分配多少的连续内存有关,因为图像加载后必须在一连续内中,由于系统中有很多内存碎片,一般分配这么大内存会失败。
那有什么办法可以全部读入这幅图像吗?不行的话,是不是只能分块读取?我暂时不想分块,因为分块的话会给我后面的处理增加很多难度。
laviewpbt 2013-02-01
  • 打赏
  • 举报
回复
这个与你的剩余多少内存没有直接关系,而与系统能够分配多少的连续内存有关,因为图像加载后必须在一连续内中,由于系统中有很多内存碎片,一般分配这么大内存会失败。
  • 打赏
  • 举报
回复
不是用来显示的,这幅图像是我程序中产生的一个中间结果图,后面我想读入这幅图像做进一步处理。如果如你所说,没有连续的600MB空间的话,是不是就没有办法读入这幅图像了呐?
bdmh 2013-02-01
  • 打赏
  • 举报
回复
你释放内存,并不等于立即交还系统,会由GC去清理,可能那个时候确实没有连续的600m空间供你读入600m数据 读入这个图像干嘛,显示吗,如果使显示,为什么要高600m的图像,如果是仅仅读入文件流,可以考虑部分读入

7,540

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧