Есть ли какое-либо преимущество в освобождении объектов, принадлежащих UIApplicationDelegate? - PullRequest
3 голосов
/ 28 августа 2009

Помимо передовых практик, если я создаю объект, который принадлежит моему классу UIApplicationDelegate и остается в течение всего времени выполнения приложения, есть ли реальное преимущество в добавлении оператора [object release] в метод dealloc UIApplicationDelegate?

Единственный раз, когда вызывается, это когда пользователь выключает приложение, и я предполагаю, что все пространство памяти, используемое этим приложением, освобождается.

С точки зрения передового опыта, конечно, имеет смысл последовательно добавлять код управления памятью по всему приложению, но мне любопытно с точки зрения исполнения, если это действительно имеет значение?

Примечание. Я спрашиваю об этом с точки зрения разработчика iPhone. Я не уверен, будет ли это отличаться от перспективы Mac OSX?

1 Ответ

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

-dealloc для делегата приложения почти наверняка никогда не будет вызван (если это так, у вас почти наверняка есть ошибка), так что это не имеет значения в этом смысле. Тем не менее, в разработке Какао лучшие практики никогда не остаются в стороне, и тщательная согласованность в управлении вашей памятью - единственный наиболее эффективный способ избежать некоторых самых трудных для поиска ошибок. Поэтому немного лишнего кода стоит потраченных усилий. Но в этом случае (а также во многих других подобных случаях) на практике это не имеет значения.

...