C# winform 内存大

aikeli1234567 2010-04-01 04:34:29
现在做图片移动合成软件,图片很大,而且很多,随着读取图片的增加,程序所占的内存就不断增加,等达到1,6000,0000K 的时候,程序崩溃,报出内存不足,哪位高手有什么解决方法?最好有代码
...全文
196 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
zkwangbb 2010-04-02
  • 打赏
  • 举报
回复
Marshal.ReleaseComObject(obj);
obj = null;
这个释放的是什么对象!!!
andyleec 2010-04-02
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 foxdave 的回复:]

图片都写内存里了吧? 能不能分批地整 不一下全搞了
[/Quote]

同意这个up
鸭梨山大帝 2010-04-02
  • 打赏
  • 举报
回复
X86下,没有开启/3GB的时候,单一进程内存超过1.7G就会报内存错误.
这个是架构限制的.

另外,现实中的一般应用不会一次使用内存超过1.7G的,超过这个数就要考虑分而治之了.
lovelan1748 2010-04-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xyq1986 的回复:]
看看是滞有内存泄漏情况,该dispose的就dispose,该用using的就用using
[/Quote]
UP
zhushoudong 2010-04-02
  • 打赏
  • 举报
回复
c# 一样可以的
铛铛 2010-04-02
  • 打赏
  • 举报
回复
很不幸,你用了c#,没办法的
zhushoudong 2010-04-02
  • 打赏
  • 举报
回复
你可以分开来做 用线程去一批批的处理,然后用了一批释放一下 这样就好多了

[DllImport("kernel32.dll")]
private static extern bool SetProcessWorkingSetSize(
IntPtr process,
int minSize,
int maxSize
);

private static void FlushMemory()
{
GC.Collect();
GC.WaitForPendingFinalizers();
if (Environment.OSVersion.Platform == PlatformID.Win32NT)
SetProcessWorkingSetSize(System.Diagnostics.Process.GetCurrentProcess().Handle, 20, 20);
}
但是这个方法 性能要求非常好的话 就另外考虑
王子样 2010-04-02
  • 打赏
  • 举报
回复
也要加载多大的图片啊?再怎么大也不至于弄成这样吧,代码是如何实现的?有优化过没?
Justin-Liu 2010-04-02
  • 打赏
  • 举报
回复
图片都写内存里了吧? 能不能分批地整 不一下全搞了
pansy5 2010-04-02
  • 打赏
  • 举报
回复
帮忙顶
KnowKjava 2010-04-02
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ahsun1987 的回复:]
用using吧,用完了就自动释放内存
[/Quote]顶
gsq_0912 2010-04-02
  • 打赏
  • 举报
回复
很想知道用代碼該怎麼寫?
aikeli1234567 2010-04-02
  • 打赏
  • 举报
回复
能用using的地方都该成了using,该dispose都dispose了,可是还是内存很大
myhotmail123 2010-04-02
  • 打赏
  • 举报
回复
用Delpi吧,,
Taiyangchen 2010-04-02
  • 打赏
  • 举报
回复
用using吧,用完了就自动释放内存
ginni215 2010-04-01
  • 打赏
  • 举报
回复
一个大的处理完成之后,就手动设置一下内存的最大值就可以了,效果类似于将程序最小化到工具栏,就是把内存占用量先转移到虚拟内存中,用的时候再取出来~
llf94632525 2010-04-01
  • 打赏
  • 举报
回复
应该是内存泄露,对象用完释放。
xyq1986 2010-04-01
  • 打赏
  • 举报
回复
看看是滞有内存泄漏情况,该dispose的就dispose,该用using的就用using

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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