![]() |
1
2
当内存达到可疑的高水平时,您需要暂停调试器,然后使用“拍摄快照”获取内存分配的快照。然后,您可以分析哪些对象使用了不同数量的内存。 见 this link 有关使用诊断工具测量内存使用情况的详细信息。 |
![]() |
2
1
这也很大程度上取决于你在做什么,也就是说,你有一个巨大的文件吗?或者你有上千个或者上百万个更小的物体、文件或者图像? 我最近遇到的一个内存使用率很高的情况是System.Graphics中的句柄,我的句柄(任务管理器->性能、系统句柄)和内存的数量都在不断增长,而且远远超过了它们应该有的数量。我忘记了每次迭代处理10个位图。我在那些位图上调用了dispose(),它解决了我的问题。 使用vs的内存快照,您可以获取多个快照并进行比较,以查看更改了什么。我使用任务管理器和使用vs的托管内存工具一样多。您可以使用任务管理器的->进程查看正在进行的操作。通过单击“查看”->选择列,可以添加列以跟踪对象,如句柄、线程和GDI对象。 |
![]() |
A B · C#Excel自动调整列避免长文本时出错 7 月前 |
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 7 月前 |
![]() |
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 7 月前 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 7 月前 |