Я дважды проверяю это. Спасибо за вклад! Я перечитал документы по управлению памятью от Apple и поместил оператор NSLog в метод dealloc моего DataController, и он вызывается. Я также выписал записанный счет перед выпуском и установил в ноль _dataController. Счет удержания равен 1.
Так что это возвращает меня к тому, почему я не вижу значительного снижения использования памяти. Я думаю, что мне нужно лучше понять отображение ObjectAlloc в Instruments и где в моем приложении происходит наибольшее выделение памяти. После поиска помощи в этой области, я разочарован попыткой определить из Инструментов, где это происходит. Я вижу, что есть «3,54 МБ для всех распределений» и 608 МБ для Malloc 32,00 КБ. Если я детализирую Malloc, я вижу только Responsible Caller как вызовы среды, такие как png_malloc и inflateEnd. Я ищу звонки в моем коде, который отвечает за Malloc, но я этого не вижу. Все это говорит о том, что я задаюсь вопросом, освобождаю ли я объект или объекты, которые действительно существенно изменят объем памяти, используемой для состояния малой памяти. Я думаю, что мне нужен подробный учебник для инструментов. Справочные документы Apple в порядке, но пример с кодом был бы более полезным.