假设我在Windows窗体上有很多控件。有没有办法知道每个控件使用了多少内存?有没有可以显示内存信息的免费工具?感谢。
答案 0 :(得分:3)
Windows窗体控件不仅仅是内存。事实上,由于内存非常便宜且可用,它很少成为瓶颈 - 尤其是托管内存。
您需要记住,Windows窗体控件使用的是WIN32窗口对象,其中包含窗口句柄和各种WIN32 GDI对象。它们作为托管对象在堆上也存在,但托管内存使用量不会很大。
要回答您的问题,您可以使用memory profilers。
答案 1 :(得分:2)
答案 2 :(得分:1)
只有这样才能获得有关控件内存使用情况的信息,每个控件都旨在提供此类信息。但是,大多数简单的类(如“字符串”)都不提供它,您必须猜测或谷歌确定其大小。
对于GUI控件 - 有些是HWND绑定的,有些则不是。有些附加了一些其他手柄,有些没有。有些拥有一些共享资源,因此控件(或组)的第一个实例将增加内存使用量,第二个实例将不会增加,等等......