Iniciar sesión Registro
Anuncios
Tu espacio publicitario
Reserva este slot exclusivo para el periodo elegido.
Comprar publicidad →
Logotipo de la comunidad de telegram - Затишна Галера
Añadido 06 ene. 2025

Затишна Галера

@Zatishna_Galera
Número de suscriptores: 2 709
Fotos: 1,340
Videos: 429
Enlaces: 1,810
Descripción:
Голова Одеського центру розробки DataArt та Delivery Director, капітан Затишної Галери, ділитимуся: завданнями із співбесід (QA/Delivery/Management), статтями, вакансіями, новинами зі світу IT. Контакт: [email protected] ; Patreon: patreon.com/CozyGalley
Fuente

Затишна Галера | iOSКомпас 🧭1️⃣4️⃣6️⃣ Завдання 146Чим відрізняється garbage collector і...

Logotipo de la comunidad de telegram - Затишна Галера Затишна Галера @Zatishna_Galera
620 Vistas/Alcance 2026-03-18 08:03 Mensaje №2500
#iOSКомпас 🧭1️⃣4️⃣6️⃣ Завдання 146Чим відрізняється garbage collector і підрахунок посилань?Доброго здровля мої любі друзі. З вами ваш незмінний ios розробник Сергій з @badlinkschannel.🤔 Garbage Collector (GC) і Automatic Reference Counting (ARC) - це два різних підходи до управління пам’яттю в програмуванні. Вони вирішують одну задачу: автоматичне звільнення невикористовуваної пам’яті, але роблять це по-різному.🔣 Garbage Collector (GC)Java, Kotlin, C#, Python, JavaScript GC використовує алгоритми трасування (наприклад mark-and-sweep) і визначає, які об’єкти доступні з кореневих посилань, а які вже недосяжні. Об’єкти, до яких немає досяжних посилань, вважаються «сміттям» і видаляються, а пам’ять звільняється. Це автоматичний процес, який запускається рантаймом за потреби.🔣 Підрахунок посилань (ARC - Automatic Reference Counting)Де використовується: Swift, Objective-C Кожен об’єкт має лічильник strong посилань (reference count). Коли змінна створює strong посилання на об’єкт, лічильник збільшується. Коли посилання зникає, лічильник зменшується. Коли лічильник досягає нуля, об’єкт деініціалізується і пам’ять звільняється.class Person {var pet: Pet?}class Pet {var owner: Person?}let person = Person()let pet = Pet()person.pet = petpet.owner = person // Тепер обидва об’єкти тримають один одного, і ARC їх не видалить 🔣 Рішення - використовувати weak або unowned:class Pet { weak var owner: Person? // Тепер витоку пам’яті не буде} @Zatishna_Galera