Ответ
В Kotlin есть 4 типа ссылок:
- Strong Reference – обычная ссылка, объект не удаляется GC, пока есть strong reference.
val obj = MyClass() // strong reference
- Soft Reference (
SoftReference) – объект удаляется GC только при нехватке памяти.
val softRef = SoftReference(MyClass())
- Weak Reference (
WeakReference) – объект может быть удален GC в любой момент.
val weakRef = WeakReference(MyClass())
- Phantom Reference (
PhantomReference) – используется для отслеживания удаления объекта (редко применяется).
Weak/SoftReference полезны для кешей или избегания утечек памяти.