Что означает GeneralBlock в инструменте ObjectAlloc? - PullRequest
0 голосов
/ 28 августа 2009

Я пытаюсь освободить некоторые неиспользуемые ресурсы в моем приложении. У меня есть пара МБ (объекта?) Категории GeneralBlock , и я понятия не имею, что это такое или как я должен подходить к освобождению этого GeneralBlock.

GeneralBlock не имеет видимого применения. Когда я запускаю свое приложение, появляется экран МЕНЮ, и в этот момент у меня используется около 300 КБ памяти. В конце приложения пользователь нажимает кнопку, которая возвращает его обратно к тому же экрану МЕНЮ, где ДОЛЖНО ИСПОЛЬЗОВАТЬСЯ только около 300 КБ памяти, но вместо этого почти 2,5 МБ памяти !!!? ?? Большая часть этого относится к GeneralBlock, где-то торчать. У меня установлена ​​настройка отображения «Созданные и все еще живые объекты», поэтому это не могут быть какие-либо освобожденные объекты ... Пожалуйста, просветите меня.

1 Ответ

1 голос
/ 28 августа 2009

С Отслеживание использования памяти :

В режиме значков прибор ObjectAlloc отображает таблицу со списком всех блоков памяти, когда-либо выделенных в приложении, как показано на рисунке 1. В столбце Категория показан тип блока памяти - либо имя класса Objective-C или имя объекта Core Foundation. Если ObjectAlloc не может вывести информацию о типе для блока, он использует «GeneralBlock-», за которым следует размер блока (в байтах). Столбец Net показывает количество блоков каждого типа, присутствующих в настоящее время в приложении. куча памяти. В столбце «Общее» показано общее количество блоков каждого типа, которые были выделены, включая блоки, которые были с тех пор освобождены.

Также см. этот пост .

По сути, пока ничего не просачивается, распределение GeneralBlock в порядке.

...