Sobes.tech
Назад к вопросам
Junior — Middle
84

Можете объяснить, для чего и как применяется класс WeakReference в Java?

Компании, где спрашивали
RedLab

Ответ от нейросети

sobes.tech AI

Класс WeakReference в Java используется для создания слабых ссылок на объекты. В отличие от сильных ссылок, слабые ссылки не препятствуют сборке мусора: если объект доступен только через слабые ссылки, он может быть удалён сборщиком мусора.

Это полезно, например, для кэширования, когда нужно хранить объекты, но не мешать их удалению при нехватке памяти. В Android часто применяют WeakReference для хранения ссылок на Context или Activity, чтобы избежать утечек памяти.

Пример использования:

WeakReference<MyObject> weakRef = new WeakReference<>(new MyObject());
MyObject obj = weakRef.get();
if (obj != null) {
    // объект ещё доступен
} else {
    // объект был собран сборщиком мусора
}