ARC позволяет мне сосредоточиться на написании полезного кода, а не на шаблонных методах освобождения.
Большинство людей, которых я знаю, в любом случае использовали autorelease
после каждого alloc
, потому что это сэкономило вам release
позже, и вы не могли забыть поставить его на самом деле. Таким образом, объект существовал до тех пор, пока пул автоматического освобождения не был опустошен, а с помощью ARC объект освобождается, когда он больше не нужен. Я думаю, что в этих случаях программа, скомпилированная с помощью ARC, даже будет использовать меньше памяти.
И, позор мне, это также помогает мне снизить частоту сбоев моих приложений.
Этот преждевременный выпуск, который происходит каждые 10 000 запусков. Тот, который я никогда не мог полностью отследить, надеюсь, с ARC это уйдет в прошлое.
Я вижу, что такой переход негативно влияет на привычки хороших граждан, которые разработчики получают от экосистемы obj-c.
вероятно, точно так же разработчик встраиваемых систем, который начал с ассемблера, думает, что люди, которые начинают с C и никогда не использовали ассемблер, приобретают плохие привычки.
На мой взгляд, обсуждение MRR и ARC похоже.
И ARC, и C позволяют писать более удобный для сопровождения код за более короткое время. И то, и другое может привести к увеличению объема памяти и процессора.
Если я правильно помню, Apple объявила, что они немного увеличили скорость до retain
и release
, чтобы компенсировать это влияние на использование процессора. И из-за этого нет реальной причины, по которой MMR все еще существует.
Я, например, приветствую наших новых повелителей ЭРК.
person
Matthias Bauch
schedule
18.12.2011