ARC позволяет мне сосредоточиться на написании полезного кода вместо методов шаблона dealloc.
Большинство людей, которых я знаю, использовали autorelease
за каждым alloc
в любом случае, потому что он спас вас release
позже, и вы не могли забыть его на самом деле. Таким образом, объект был до тех пор, пока пул авторасчетов не был исчерпан, и с ARC объект будет освобожден, когда он больше не понадобится. Я думаю, что в этих случаях ARC-скомпилированная программа будет использовать меньше памяти.
И, стыдно на мне, это помогает мне также сокращать мои приложения.
Это преждевременное освобождение, которое происходит каждые 10.000 запусков. Тот, который я никогда не смог полностью отследить, надеюсь, что с ARC это ушло в прошлое.
Я вижу такой переход негативно сказывается на хорошенькие горожанах привычки, которые разработчики выиграют от Obj-C экосистемы.
Возможно, таким же образом встроенный разработчик, который начал с ассемблера, думает, что люди, которые начинают с C и никогда не использовали ассемблер, попадают в вредные привычки.
На мой взгляд, обсуждение MRR и ARC аналогично.
ARC и C позволяют записывать более удобный код за более короткое время. И оба они могут привести к увеличению объема памяти и производительности процессора.
Если я правильно помню, Apple заявила, что добавила небольшую скорость до retain
и release
, чтобы компенсировать это влияние на использование процессора. И из-за этого нет никакой реальной причины, что MMR все еще вокруг.
Я, например, приветствую наших новых повелителей ARC.
Благодаря @pst для редактирования. Это был мой первый пост, и я забыл дополнительно объяснить новые акронимы. –