Back to questions
Junior — Middle
85
Можете объяснить, для чего и как применяется класс WeakReference в Java?
Companies where asked
RedLab
Answer from AI
sobes.tech AI
Класс WeakReference в Java используется для создания слабых ссылок на объекты. В отличие от сильных ссылок, слабые ссылки не препятствуют сборке мусора: если объект доступен только через слабые ссылки, он может быть удалён сборщиком мусора.
Это полезно, например, для кэширования, когда нужно хранить объекты, но не мешать их удалению при нехватке памяти. В Android часто применяют WeakReference для хранения ссылок на Context или Activity, чтобы избежать утечек памяти.
Пример использования:
WeakReference<MyObject> weakRef = new WeakReference<>(new MyObject());
MyObject obj = weakRef.get();
if (obj != null) {
// объект ещё доступен
} else {
// объект был собран сборщиком мусора
}