Sobes.tech
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();