Sobes.tech
Junior — Middle

Ako sa vykonáva automatické čistenie pamäte v prostredí behu programu?

sobes.tech AI

Odpoveď od AI

Automatické čistenie pamäte v prostredí na spustenie, ako je Android, sa vykonáva pomocou zberača odpadu (Garbage Collector, GC). Sleduje objekty v pamäti a uvoľňuje tie, na ktoré už v programe nie sú odkazy. To pomáha predchádzať únikom pamäte a uvoľňovať zdroje bez priameho zásahu vývojára.

Princíp fungovania:

  • Zberač odpadu sa spúšťa periodicky a prehľadáva haldu (heap) na prístupné objekty.
  • Takéto objekty sú považované za odpad a ich pamäť je uvoľnená.

V Androide sa používa prostredie Dalvik alebo ART, ktoré majú vlastné implementácie GC optimalizované pre mobilné zariadenia.

Príklad v Jave (Android):

// Vytvorenie objektu
MyObject obj = new MyObject();
// Po tom, čo obj prestane byť používaný a odkazy na neho zmiznú,
// zberač odpadu automaticky uvoľní pamäť.
obj = null;
// Môžete zavolať System.gc() ako návrh na spustenie GC, ale to nezaručuje okamžité čistenie.
System.gc();