|
29 / 15 / 10
Регистрация: 07.06.2018
Сообщений: 110
|
|
.NET 4.x Утечка ли памяти?03.07.2018, 13:51. Показов 1092. Ответов 4
Метки нет (Все метки)
Я разрабатываю программу на С# в среде MSVS 2015.
Заметил такую интересную вещь. Запускаю программу а затем сворачиваю ее в панель задач и делаю снимок памяти в окне средства диагностики, потом опять разворачиваю ее, а затем сворачиваю ее опять в панель задач, ничего в ней не делая, и делаю опять снимок памяти. Параллельных моих потоков в это время не работает. Правда, не исключаю, что Microcoft запускает свои потоки, и их работа дает описанный ниже эффект. В результате моих операций число созданных объектов увеличивается от 2 до 5 (общий объем кучи правда возрастает минимально, менее 0.4 КБ) Правда бывают единичные случаи, когда количество объектов уменьшается на 2, но по моим наблюдениям, это не компенсирует память. Теоретически, как я полагаю, в результате моих действий, число объектов не должно меняться. Вопрос такой: Является это утечка памяти или нет? Если да, то как ее локализовать и как с ней бороться? Если же нет,можно ли данное средства использовать для диагностики утечек памяти в своей программе и насколько оно надежно и эффективно для этих целей.
0
|
|
| 03.07.2018, 13:51 | |
|
Ответы с готовыми решениями:
4
утечка памяти Утечка памяти
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
||||
| 03.07.2018, 14:22 | ||||
|
Если да, то утечка. При утечке обычно создаются одни и те же объекты в одном и том же месте. Можно, но функционал там довольно базовый.
0
|
||||
|
29 / 15 / 10
Регистрация: 07.06.2018
Сообщений: 110
|
||
| 03.07.2018, 15:17 [ТС] | ||
|
0
|
||
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|||
| 03.07.2018, 15:27 | |||
|
Разумеется, если выделить код, который выполняется при сворачивании и разворачивании, то можно просто в цикле вызывать этот код.
0
|
|||
|
14307 / 9388 / 1355
Регистрация: 21.01.2016
Сообщений: 35,404
|
|
| 03.07.2018, 15:51 | |
|
Melamed, WinForms имеет право создавать свои какие-то объекты и выделять память во время обработки событий.
Если ваш код никакой ничего не создаёт, то это дело рук WinForms. Утечкой не является, ибо было бы обнаружено ещё пятнадцать лет назад (не вы же первый додумались окошко посворачивать).
1
|
|
| 03.07.2018, 15:51 | |
|
Помогаю со студенческими работами здесь
5
Утечка памяти при работе с PictureBox!
Утечка памяти при работе с файлами TIFF Утечка памяти
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|