Junior — Middle
Hoe wordt automatische geheugenopschoning uitgevoerd in de runtime-omgeving van het programma?
sobes.tech AI
Antwoord van AI
Automatisch geheugenbeheer in een runtime-omgeving, zoals Android, wordt uitgevoerd door de garbage collector (GC). Deze bewaakt de objecten in het geheugen en vrijwaart degenen waar geen verwijzingen meer naar zijn in het programma. Dit helpt geheugenlekken te voorkomen en bronnen vrij te maken zonder expliciete tussenkomst van de ontwikkelaar.
Werking principe:
- De garbage collector wordt periodiek uitgevoerd en scant de heap op zoek naar objecten die niet bereikbaar zijn vanaf de root-referenties.
- Deze objecten worden als afval beschouwd en hun geheugen wordt vrijgegeven.
In Android wordt de Dalvik- of ART-runtime gebruikt, die hun eigen GC-implementaties hebben, geoptimaliseerd voor mobiele apparaten.
Voorbeeld in Java (Android):
// Object maken
MyObject obj = new MyObject();
// Nadat obj niet meer wordt gebruikt en de referenties verdwijnen,
// zal de garbage collector het geheugen automatisch vrijmaken.
obj = null;
// System.gc() kan worden aangeroepen om GC te suggereren, maar dit garandeert geen onmiddellijke opruiming.
System.gc();