Я читаю инструменты обнаружения утечек для разработки iPhone и намеренно вставляю и ищу утечки памяти в моей маленькой программе, прежде чем попасть в более крупный и трудный для отладки проект.
Нет проблем определить утечку памяти, которая, скажем, происходит в регулярно вызываемом методе, таком как реакция на событие касания. Устройство утечки в конечном итоге идентифицирует невостребованную виртуальную память.
Меня больше беспокоит утечка кода для выхода из всей системы. Когда я полностью выхожу из своего приложения, возникает ли проблема, что что-то не было освобождено, или ОС iphone автоматически восстанавливает все пользовательские записи в этот момент?
Эта проблема неясна для меня после прочтения довольно большого количества документации, и, не зная ничего другого, я предполагаю, что она должна работать как другие ОС в этом отношении и просто забрать все пространство пользователя. Если это так, разве я не буду хорошо убирать регулярные утечки, чтобы мое приложение могло работать в течение любого промежутка времени с ограниченной памятью, тогда не стоит так сильно беспокоиться, что все освободится при выходе?
Кроме того, если очень важно освободить все перед выходом, потому что ОС не восстановит его, есть ли хороший способ сохранить мое приложение живым в приборах после выхода для проверки? Когда я нажимаю кнопку «Домой» в симуляторе или на устройстве, я уже не потерял возможность обнаружить утечки во время выхода?