Имеет ли смысл выпускать ivars в dealloc appdelegate? - PullRequest
1 голос
/ 11 августа 2010

Я знаю, что, вероятно, хорошей практикой является выпуск иваров appdelegate с помощью метода dealloc, но практически это имеет смысл?

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

Спасибо

1 Ответ

1 голос
/ 11 августа 2010

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

Переверните вопрос - что вы теряете, добавляя эти релизы?Неужели так сложно их добавить?

Еще несколько вопросов:

  • Что произойдет, если архитектура немного изменится, а делегат приложения будет выпущен раньше?
  • Что если один из освобождаемых объектов выполняет дополнительную очистку (например, сохранение своего состояния) в своем значении (не обращая внимания на некоторое время, если это хорошая идея).
  • Будет ли этогенерировать шум при сборке и анализе?

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

[обновление]

С тех пор я писал об альтернативной технике управления памятью,может быть актуальным - использование (через Objective-C ++) интеллектуальных указателей !

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...