c# - 尽管垃圾收集和仅 10mB RAM 使用 C# Windows 窗体,但应用程序内存不足
问题描述
我尝试编写一个显示带有图片框的幻灯片的应用程序。加载新图像会导致应用程序在某些时候耗尽内存。即使我处理旧图像并手动运行 GC。任务资源管理器显示 10mB 使用量。
起初我看到没有 dispose 功能的 ram 增加了。包括 dispose 使 ram 保持不变,但在某些时候仍会引发内存不足异常。
我的代码加载下一张图像并处理旧图像。我需要包含 Application.DoEvents() 因为 UI 线程没有得到更新
PictureBox.Image.Dispose();
PictureBox.Image = Image.FromFile(currentfolder.ImageList[currentindex]);
Application.DoEvents();
currentindex++;
GC.Collect();
我看不出我内存不足的任何原因。我的系统有 8GB,空闲时的使用率为 57%。
解决方案
非常感谢。问题实际上是我在列表中有没有图像的元素。out of Memory Exception 真的让我很困惑。感谢 steve16351 和其他人
推荐阅读
- python - 一次在 Pandas 中重新编码多个变量
- ios - UITableview 里面的 UICollectionView,table 应该显示动态值,没有固定值。如何生成这个?
- ionic-framework - 离子:package.json 缺少启动脚本
- python-3.x - 如何使用python和selenium动态获取网页中触发的标签
- yii2 - Yii2客户端验证刷新表单提交页面
- java - 如何在没有 Sonarqube 问题的情况下在 spring 中自动连接静态字段?
- ajax - AJAX成功的Django渲染模板
- pandas - 熊猫适用于索引
- windows - 复制Windows cmd中按条件选择的多个文件
- sql - 返回连接到 SQL 表中特定 ClientID 的最大用户数