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