Не вызывайте -retainCount.
Абсолютный счет сохранения объекта не имеет смысла.
Вы должны вызывать release
ровно столько раз, сколько вы вызывали сохранение объекта,Не меньше (если вам не нравятся утечки) и, конечно же, больше нет (если вам не нравятся сбои).
См. Рекомендации по управлению памятью для получения полной информации.
Нет ничего странного в том, что счетчик остатков unit
из того, что вы описываете.Ваш код, по-видимому, печатает счет сохранения объекта, который мог или не мог быть создан во время текущего прохода в цикле событий и, таким образом, мог быть сохранен / автоматически выпущен несколько раз.Или нет.Это не имеет значения.
Важно то, что показывает инструмент распределения.Вы видите срастание предметов со временем?Если да, то что это такое и что их удерживает (или не освобождает)?
Если вы это сделаете, то может быть так, что Анализ Heapshot окажется для вас полезным.