Вопрос проверяет знание механизма отложенного освобождения памяти в Objective-C/Swift.
autorelease — отложенное освобождение объекта. autorelease pool — контейнер, который временно удерживает такие объекты и освобождает их при завершении.
Как работает:
Autorelease:
Объект помечается для освобождения позже (не сразу при выходе из scope).
Autorelease Pool:
Группирует autorelease-объекты и освобождает их при завершении блока кода.
Пример:
autoreleasepool {
let tempObject = SomeClass() // Может быть добавлен в пул
// ...
} // Здесь tempObject будет освобожденЗачем управлять пулом:
Для оптимизации памяти в циклах или при создании множества временных объектов.
Вывод:
Используйте autoreleasepool в ресурсоемких операциях для контроля памяти