Sobes.tech
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.