Sobes.tech
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();