Junior — Middle
Czy możesz wyjaśnić, do czego służy i jak stosuje się klasę WeakReference w Java?
sobes.tech AI
Odpowiedź od AI
Klasa WeakReference w Java służy do tworzenia słabych odwołań do obiektów. W przeciwieństwie do silnych odwołań, słabe odwołania nie zapobiegają zbieraniu śmieci: jeśli obiekt jest dostępny tylko przez słabe odwołania, może zostać usunięty przez garbage collector.
Jest to przydatne na przykład do buforowania, gdy trzeba przechowywać obiekty, ale nie przeszkadzać ich usuwaniu w przypadku braku pamięci. W Androidzie często używa się WeakReference do przechowywania odwołań do Context lub Activity, aby uniknąć wycieków pamięci.
Przykład użycia:
WeakReference<MyObject> weakRef = new WeakReference<>(new MyObject());
MyObject obj = weakRef.get();
if (obj != null) {
// obiekt jest jeszcze dostępny
} else {
// obiekt został usunięty przez garbage collector
}