Junior — Middle
Môžete vysvetliť, čo znamená slabé odkazovanie v správe pamäte?
sobes.tech AI
Odpoveď od AI
Slabá referencia (weak reference) je odkaz na objekt v pamäti, ktorý nebráni zberaču odpadkov odstrániť tento objekt, ak na neho nie sú žiadne silné odkazy.
V správe pamäte sú slabé odkazy užitočné, keď je potrebné udržať odkaz na objekt, ale ho neudržiavať umelo v pamäti. Ak objekt už nie je potrebný inde, bude odstránený a slabý odkaz sa stane neplatným.
Napríklad v Androide sa slabé odkazy často používajú na kešovanie alebo na odkazy na kontext (Context) z dlhodobejších objektov, aby sa predišlo únikom pamäte.
Príklad v Jave:
WeakReference<MyObject> weakRef = new WeakReference<>(myObject);
// Ak myObject už nemá silné odkazy, môže byť odstránený,
// a weakRef.get() vráti null.