NSMenu высокое потребление памяти при наведении / выделении - PullRequest
0 голосов
/ 07 ноября 2018

Этот вопрос касается разработки macOS Objective-C. Однако это также может относиться к Swift. Имея дело с NSMenu и особенно NSStatusBar, я заметил некоторую утечку памяти. Вы можете использовать тот же пример проекта из моего другого вопроса Значок строки меню NSStatusBar NSMenu с утечкой CFData .

После открытия меню строки состояния использование памяти мгновенно увеличивается примерно на 2 Мб (здесь это не интересно). Откройте Debug Navigator в XCode и начните перемещать курсор мыши над открытым меню строки состояния. Делая это быстро всего за несколько секунд, вы уже увеличите потребление памяти. К сожалению, даже после закрытия меню эта память не освобождается.

Мне очень любопытно, что на земле ответственно за это увеличение и как я могу остановить его? Это может не быть проблемой для этого крошечного меню, однако, для меню со многими пунктами оно поднимается довольно быстро.

...