Ответ
Слабая ссылка (WeakReference) — это ссылка, которая не предотвращает сборку мусора объектом. Если на объект остались только слабые ссылки, GC может удалить его, освободив память.
Пример:
val strongRef = Any()
val weakRef = WeakReference(strongRef)
// Объект доступен через weakRef.get()
strongRef = null // Теперь GC может удалить объект
Использование:
- Кеширование (например,
WeakHashMap). - Избежание утечек памяти (например, ссылки на
Activityиз фоновых задач).
⚠️ Всегда проверяйте weakRef.get(), так как объект может быть уже удален.