Sobes.tech
Junior — Middle

Můžete vysvětlit, co znamená slabé odkazování v řízení paměti?

sobes.tech AI

Odpověď od AI

Slabá reference (weak reference) je odkaz na objekt v paměti, který nebrání sběrači odpadků odstranit tento objekt, pokud na něj již neexistují žádné silné odkazy.

V řízení paměti jsou slabé odkazy užitečné, když je třeba uchovat odkaz na objekt, ale neudržovat ho uměle v paměti. Pokud objekt již není jinde potřeba, bude odstraněn a slabý odkaz se stane neplatným.

Například v Androidu se slabé odkazy často používají pro kešování nebo odkazy na kontext (Context) z dlouhotrvajících objektů, aby se zabránilo únikům paměti.

Příklad v Java:

WeakReference<MyObject> weakRef = new WeakReference<>(myObject);

// Pokud myObject již nemá žádné silné odkazy, může být odstraněn,
// a weakRef.get() vrátí null.