Я новичок в этом форуме, и я искал, но не нашел ответов на эту проблему, которая озадачивала меня большую часть этой недели.
NSTextField вызывает утечку памяти при каждом нажатии клавиши.
Я выделил эту проблему из своего кода, и ее можно воспроизвести следующим образом:
- Создайте новый проект "Приложение какао".
- Поместите поле NSText в главное окно главного меню. (Без привязки, розетки или действия)
- Продукт -> Профиль, выберите инструмент «утечка памяти» (в XCode 4)
Нет утечек, пока пользователь не введет символ в текстовое поле.
Я получаю 8 утечек NSCFString объектов размером 32 байта следующих типов:
Library Responsible Caller
0 CFString Malloc 00:11.524.538 1 0x100130bb0 32 AppKit -[NSEvent charactersIgnoringModifiers]
1 CFString Malloc 00:11.622.145 1 0x100136950 32 AppKit -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
Обратите внимание, что в этом проекте нет кода, кроме сгенерированного автоматически.
Мне было бы интересно, если кто-то еще может воспроизвести эту проблему и, возможно, даже предложить предложение, как предотвратить ее возникновение.
OS X 10.6.8 с XCode 4.0.2 (та же проблема возникает с 3.2.6)
Любое предложение будет высоко оценено и уменьшит мой текущий уровень разочарования.
Обновление:
Попробовал создание проекта выше на разных маках.
Обнаружено, что один из них не производит утечки (используя ту же процедуру, что и выше, для создания проекта)
Установленный XCode 4 на Mac, на котором никогда не был установлен XCode - без утечек!
ПАМЯТЬ УТЕЧКИ.
- Стерли жесткий диск на том же MPro, установили OS X 10.6, обновили программное обеспечение до 10.6.8
- установлен XCode4
- создал тот же тестовый проект, что и выше
НЕТ УТЕЧКИ ПАМЯТИ !!!!!
Теперь ясно, что корень этой проблемы находится где-то в установке, а не просто в «ложном положительном результате» инструментов. Мои профили выполнялись несколько раз, так что это был одноразовый режим, и на моих компьютерах его поведение воспроизводилось на 100%.
Проблема сейчас: У меня все еще есть 27-дюймовый iMac, где стирание с жесткого диска невозможно.
Я предполагаю, что есть что-то установленное (Framework?), Которое не обновляется / удаляется при обновлении или переустановке XCode.
Мы очень ценим ваши идеи относительно причины этой проблемы.