我正在从事一个存在内存泄漏的项目(基于 MVP 架构构建)。该应用程序正在使用 1GB 的内存,并在网格中显示记录列表。
我在这两个时刻对其进行了分析(拍摄了 2 个内存快照):1. 在打开从数据库加载数据的页面之前(内存使用量 = 400 MB)2. 关闭页面时
关闭页面时,内存使用量保持不变(大约 1 GB),当它至少应该下降时(理想情况下它应该回到 400 MB,但不能总是控制 GC ......可以吗?)。我试图像这样控制进程的内存使用:
Process.GetCurrentProcess().MaxWorkingSet = new IntPtr(1000000);
我打算使用另一件事:
SetProcessWorkingSetSize(IntPtr handle, IntPtr min, IntPtr max)
但我进一步尝试优化代码并且不知道如何。我很快会用大量代码编辑这篇文章,不要-1 ...