Sobes.tech
Junior — Middle

Որոնք են հիշողության այն տարածքները, որոնք կառավարում է աղբարկղը ավտոմատ հիշողության մաքրման համակարգում?

sobes.tech AI

Պատասխան AI-ից

Flutter (Dart VM)-ում օգտագործվող ավտոմատ հիշողության մաքրման համակարգում, գարշահավաքը կառավարում է դինամիկ հիշողության տարածքը, որտեղ տեղադրվում են ծրագրի գործարկման ժամանակ ստեղծված օբյեկտները: Սա ներառում է՝

  • Հավաք (Heap): հիմնական տարածքը, որտեղ տեղադրվում են դինամիկորեն ստեղծված օբյեկտներն ու տվյալները:
  • Ստակ (Stack): սովորաբար չի կառավարվում գարշահավաքի կողմից, քանի որ պարունակում է տեղական փոփոխականներ և ավտոմատ կերպով կառավարվում է ֆունկցիաների կանչերի ժամանակ:

Գարշահավաքը հետևում է հավաքում գտնվող օբյեկտներին, որոշում, թե որոնք արդեն չեն օգտագործվում (չի հասանելի ռուոտային հղումներից), և ազատում է հիշողությունը՝ կանխելու համար հիշողության լճացումը:

Օրինակ՝ եթե Dart-ում ստեղծեք օբյեկտ, օրինակ՝

var list = [1, 2, 3];

Այս ցուցակը տեղադրվում է հավաքում, և գարշահավաքը ազատում է հիշողությունը, երբ այլ հղումներ չեն լինում դրա վրա։