2010-12-30 4 views
1

Хорошо, я понимаю основы управления памятью iphone, призывы к сохранению и выпуску должны совпадать.Управление памятью iphone, реальные сценарии жизни?

Вы также можете автозапуск, который будет выпущен, когда пул памяти будет сброшен.

Мне все еще нужны сценарии реальной жизни, чтобы понять, почему вы хотели бы позвонить, а затем освободить?

Является ли автореферат использованным распределением и в каких ситуациях вообще?

Я просто хочу понять, под парадигмой iphone, как управление памятью должно работать, Есть ли шаблоны?

ответ

2

Написать реальную программу жизни. Любая программа. Может быть просто копией того, что уже существует, но после некоторого интенсивного использования оно обязательно узнает вас об управлении памятью.

Еще лучше, напишите и распространите его для широкой публики (или сообщества с открытым исходным кодом). Ошибки памяти, которые вы не найдете, определенно будут найдены другими.

Единственный истинный способ понять что-то - это практиковать его (и совершать ошибки). И единственный способ практиковать управление памятью - фактически использовать его (и делать ошибки).

1

Вы неправильно понимаете бассейн автореферата. Все, что помещается в пул автозапуска, будет выпущено в конце текущего цикла событий.

Это означает, что объект, который используется только для обработки события, является хорошим кандидатом для пула AR, но вам также необходимо управлять своим состоянием между событиями, и для этого вам необходимо вручную сохранить et release , Это, очевидно, ужасно неправильное упрощение, но это может помочь вам понять :-)

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

+0

Пулы автоопределения не всегда привязаны к циклу событий. Обычно рутифицировать пулы авторефератов вручную, а Grand Central Dispatch имеет пул, который сливается «время от времени». – bbum

+0

@bbum: как я уже сказал: возмутительно неправильное упрощение :-) – VdesmedT

Смежные вопросы