Junior — Middle
Kas saaksite selgitada, mida tähendab nõrk viide mälu haldamisel?
sobes.tech AI
Vastus AI-lt
Nõrk viide (weak reference) on viide objekti aadressil mälus, mis ei takista prügikoristust selle objekti eemaldada, kui sellele ei ole muid tugevaid viiteid.
Mäluhalduse puhul on nõrgad viited kasulikud, kui soovite hoida viidet objekti, kuid mitte hoida seda kunstlikult mälus. Kui objekt ei ole enam mujal vajalik, eemaldatakse see ja nõrk viide muutub kehtetuks.
Näiteks Androidis kasutatakse nõrku viiteid sageli vahemälus või pikaajaliste objektide konteksti (Context) viidetena, et vältida mälulekkeid.
Java näide:
WeakReference<MyObject> weakRef = new WeakReference<>(myObject);
// Kui myObjectil ei ole enam tugevaid viiteid, võib see eemaldada,
// ja weakRef.get() tagastab null.