Sobes.tech
Junior — Middle

Kako se vrši automatsko čišćenje memorije u okruženju za izvršavanje programa?

sobes.tech АИ

Одговор од АИ

Automatsko čišćenje memorije u okruženju za izvršavanje, kao što je Android, vrši se pomoću sakupljača smeća (Garbage Collector, GC). On prati objekte u memoriji i oslobađa one na koje više nema referenci u programu. Ovo pomaže u izbegavanju curenja memorije i oslobađanju resursa bez eksplicitne intervencije programera.

Princip rada:

  • Sakupljač smeća se periodično pokreće i skenira hrpu (heap) tražeći objekte koji nisu dostupni iz korenskih referenci.
  • Takvi objekti se smatraju smećem i njihova memorija se oslobađa.

U Androidu se koristi okruženje za izvršavanje Dalvik ili ART, koje imaju svoje implementacije GC, optimizovane za mobilne uređaje.

Primer u Javi (Android):

// Kreiranje objekta
MyObject obj = new MyObject();
// Nakon što obj prestane da se koristi i reference na njega nestanu,
// sakupljač smeća će automatski osloboditi memoriju.
obj = null;
// Može se pozvati System.gc() kao sugestija za GC, ali to ne garantuje trenutni čišćenje.
System.gc();