Junior — Middle
Jak je v prostředí běhu programu prováděno automatické čištění paměti?
sobes.tech AI
Odpověď od AI
Automatické čištění paměti v prostředí běhu, například v Androidu, se provádí pomocí sběrače odpadků (Garbage Collector, GC). Sleduje objekty v paměti a uvolňuje ty, na které již v programu nejsou odkazy. To pomáhá předcházet únikům paměti a uvolňovat zdroje bez přímého zásahu vývojáře.
Princip fungování:
- Sběrač odpadků se spouští periodicky a prohledává haldu (heap) na přístupné objekty.
- Takové objekty jsou považovány za odpad a jejich paměť je uvolněna.
V Androidu se používá prostředí Dalvik nebo ART, které mají vlastní implementace GC optimalizované pro mobilní zařízení.
Příklad v Java (Android):
// Vytvoření objektu
MyObject obj = new MyObject();
// Po tom, co obj přestane být používán a odkazy na něj zmizí,
// garbage collector automaticky uvolní paměť.
obj = null;
// Můžete zavolat System.gc() jako návrh na spuštění GC, ale to nezaručuje okamžité čištění.
System.gc();