Skip to content

Latest commit

 

History

History
24 lines (14 loc) · 2.33 KB

File metadata and controls

24 lines (14 loc) · 2.33 KB

Automatic Reference Counting/Автоматический подсчет ссылок

  1. Understanding Swift Copy-on-Write mechanisms

"Automatic Reference Counting (ARC) is a memory-management implementation in the Clang compiler for the Objective-C and Swift programming languages"

Работа ARC - на этапе компиляции приложения в компилируемый код за программиста автоматически расставляет в нужных местах release (декремент - уменьшает счетчика ссылок) retain (инкрементирует - увеличивает счетчик ссылок) autorelease (добавляет экземпляр в autorelease pool для вызова отложенного декремента deferred release).

Этот механизм работает только для объектов, которые хранятся в куче (ссылочные типы).

❗❗ ARC РАБОТАЕТ ПРИ КОМПИЛЯЦИИ, А ПОДСЧЕТ ССЫЛОК В РАНТАЙМЕ

ARC не занимается автоматическим освобождением не запускает никаких фоновых процессов.

GC работает во время выполнения программы (runtime) с помощью кода, который периодически запускается и проверяет объекты в фоновом процессе. ARC работает во время компиляции и вставляет retain и release автоматически в код. Часто это сказывается на производительности, потому что процесс сборки мусора должен выяснить, какую память удалить («пометить и очистить»).


3.1.3 Reference Count Theme Folder | Back To iOSWiki Contents | 3.1.3.1.2 MRC Theme