Sobes.tech
Junior — Middle

Можете ли објаснити шта значи слаба референца у управљању меморијом?

sobes.tech АИ

Одговор од АИ

Slaba referenca (weak reference) je referenca na objekat u memoriji koja ne sprečava sakupljač smeća da ukloni taj objekat ako na njega više nema jakih referenci.

U upravljanju memorijom, slabe reference su korisne kada je potrebno sačuvati referencu na objekat, ali ga ne držati večno u memoriji. Ako objekat više nije potreban na drugim mestima, biće uklonjen, a slaba referenca će postati nevažeća.

Na primer, u Androidu, slabe reference se često koriste za keširanje ili za reference na kontekst (Context) iz dugotrajnih objekata, kako bi se izbegli curenja memorije.

Primer u Javi:

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

// Ako myObject više nema jake reference, može biti uklonjen,
// i weakRef.get() će vratiti null.