Sobes.tech
Junior — Middle

Kuidas toimub automaatne mäe tühjendamine programmi täitmise keskkonnas?

sobes.tech AI

Vastus AI-lt

Automaatne mälu puhastamine täitmise keskkonnas, näiteks Android, toimub prügikoristaja (Garbage Collector, GC) abil. See jälgib mälus olevaid objekte ja vabastab need, millele programmis enam viiteid ei ole. See aitab vältida mälulekkeid ja vabastada ressursse ilma arendaja otsese sekkumiseta.

Tööpõhimõte:

  • GC käivitatakse perioodiliselt ja skannib virna (heap) otsides kättesaamatuid objekte.
  • Sellised objektid loetakse prügi ja nende mälu vabastatakse.

Androidis kasutatakse Dalvik või ART täitmise keskkonda, millel on oma GC rakendused, optimeeritud mobiilseadmetele.

Java näide (Android):

// Objekti loomine
MyObject obj = new MyObject();
// Kui obj enam ei kasutata ja viited sellele kaovad,
// automaatselt vabastab GC mälu.
obj = null;
// GC-le võib kutsuda System.gc(), kuid see ei taga kohest puhastamist.
System.gc();