Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про IOS: arc, gc, performance

Сравни garbage collector и ARC.

Этот вопрос проверяет понимание различий между сборщиком мусора (Garbage Collector) и автоматическим подсчётом ссылок (ARC), включая их работу и влияние на производительность.

Короткий ответ

Garbage Collector периодически ищет и удаляет недостижимые объекты, что может вызывать паузы. ARC немедленно освобождает память, когда счётчик ссылок становится нулём, что более предсказуемо, но не handles циклические ссылки автоматически. ARC обычно быстрее, но требует внимания к циклам.

Длинный ответ

Оба механизма автоматически управляют памятью, но работают по-разному.

1. Garbage Collector (GC):

  • Периодически запускает процесс, который сканирует память и удаляет объекты, недостижимые из корневых ссылок.

  • Преимущества: Автоматически handles циклические ссылки.

  • Недостатки: Может вызывать паузы (stop-the-world), что неприемлемо для real-time приложений.

2. Automatic Reference Counting (ARC):

  • Вставляет вызовы retain и release во время компиляции, чтобы отслеживать количество ссылок на объект.

  • Память освобождается немедленно, когда счётчик становится нулём.

  • Преимущества: Нет пауз, более предсказуемое поведение.

  • Недостатки: Не handles циклические ссылки автоматически (требует weak или unowned).

Пример в Swift:
ARC используется по умолчанию. Для breaking cycles нужно использовать weak или unowned.

  • Аватар

    iOS Guru

    Roman Isakov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    7

Навыки

  • IOS

    IOS

Ключевые слова

#arc

#gc

#performance

Подпишись на iOS Developer в телеграм

  • Аватар

    iOS Guru

    Roman Isakov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.