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();