【C#问题】程序占用内存陡崖式上升
工程源码:https://k-n.lanzouw.com/iFLqy023gihc如图只是在搞一个模拟闹钟的小软件,不知道什么原因
调试的时候发现占用内存会一直增大,最大能到2G
程序流程(clock.cs中):
窗体加载后新建线程showtime——>
每80毫秒调用一次settime——>
获取小时、分钟信息,改变picturebox中图片
<发现,程序会不断增大内存占用,且sleep时间越短,内存增大越快>
1.求助大佬们如何修改能够正常运行(增大的内存到底是怎么产生的)
2.还有个小问题,项目中我写的数码管控件好像一拖到窗体上VS就崩溃重启
[这个是项目文件]
工程源码:https://k-n.lanzouw.com/iFLqy023gihc 是不是图片一直读啊,要等自动回收 应该是一直读图片到内存内存没释放,先一次性把图片读出来存到数组,然后读取时间显示就完了......猜测是这样,不太懂c# 加载图片不要以文件形式读取,添加到资源文件里引用 加载图片没释放导致,新加载之前来一句,picturebox.image=null试试 图片对象读取完要及时释放,使用dispose及时释放掉,而且不明白为啥你要用while true去做,死循环是最恐怖的,你可以使用timer空间来定期执行,while循环估计是罪魁祸首 读完图片要dispose 变量用using 断点调试啊 lbh3925695 发表于 2022-3-26 21:16
加载图片没释放导致,新加载之前来一句,picturebox.image=null试试
确实,这个内存占得太多,没释放