Как я могу определить, сколько памяти используется для всех элементов управления в форме? - PullRequest
1 голос
/ 11 марта 2011

Предположим, у меня много элементов управления в форме Windows.Есть ли способ узнать, сколько памяти используется для каждого элемента управления?Существуют ли бесплатные инструменты, которые могут отображать информацию о памяти?Спасибо.

Ответы [ 3 ]

3 голосов
/ 11 марта 2011

Элементы управления Windows формы не просто память.На самом деле, поскольку память настолько дешева и доступна, это редко является узким местом, особенно управляемой памятью.

Необходимо иметь в виду, что элементы управления Windows формы используют объект окна WIN32, который содержит дескрипторы окна и различные объекты WIN32 GDI,Они также присутствуют в куче как управляемый объект, но использование управляемой памяти не будет огромным.

Чтобы ответить на ваш вопрос, вы можете использовать профилировщики памяти .

2 голосов
/ 11 марта 2011
1 голос
/ 11 марта 2011

Единственный способ получить информацию об использовании памяти элементов управления состоит в том, что каждый элемент управления предназначен для предоставления такой информации. Однако большинство простых классов, таких как 'string', не предоставляют его, и вам нужно угадать или Google для определения его размера.

Что касается элементов управления графическим интерфейсом - некоторые привязаны к HWND, некоторые нет. У некоторых есть другие ручки, некоторые нет. У некоторых есть общие ресурсы, поэтому первый экземпляр элемента управления (или группа) увеличит использование памяти, второй - нет, и так далее ...

...