Junior — Middle
Как се извършва автоматичното почистване на паметта в средата за изпълнение на програмата?
sobes.tech AI
Отговор от AI
Автоматичното почистване на паметта в среда за изпълнение, като Android, се извършва с помощта на събирача на отпадъци (Garbage Collector, GC). Той следи обектите в паметта и освобождава тези, към които вече няма препратки в програмата. Това помага да се избегнат течове на памет и да се освобождават ресурси без явна намеса на разработчика.
Принцип на работа:
- Събирачът на отпадъци се стартира периодично и сканира купчината (heap) за недостъпни обекти от кореновите препратки.
- Такива обекти се считат за отпадъци и тяхната памет се освобождава.
В Android се използват средите за изпълнение Dalvik или ART, които имат свои реализации на GC, оптимизирани за мобилни устройства.
Пример на Java (Android):
// Създаване на обект
MyObject obj = new MyObject();
// След като obj престане да се използва и препратките към него изчезнат,
// събирачът на отпадъци автоматично ще освободи паметта.
obj = null;
// Може да се извика System.gc() за препоръка към GC, но това не гарантира незабавно почистване.
System.gc();