Greenpolen forum

Members Login
Username 
 
Password 
    Remember Me  
Post Info TOPIC: Mobil tətbiqdə yaddaşın optimallaşdırılması və "Garbage Collector" (Zibil yığıcısı) iş prinsipləri


Newbie

Status: Offline
Posts: 1
Date:
Mobil tətbiqdə yaddaşın optimallaşdırılması və "Garbage Collector" (Zibil yığıcısı) iş prinsipləri
Permalink   
 


Birinci abzas

Mobil cihazların operativ yaddaş (RAM) tutumu masaüstü kompüterlərlə müqayisədə olduqca məhduddur. İdman analitikası platformalarında sürətlə yenilənən məlumatlar, istifadəçi profilləri və canlı qrafiklər yaddaşda davamlı olaraq yeni obyektlərin yaranmasına səbəb olur. Bu obyektlərin vaxtında təmizlənməməsi tətbiqin fəaliyyətində ciddi donmalara və çökmələrə yol açır. Sistem daxilində yaddaşın avtomatlaşdırılmış təmizlənməsini təmin edən "Garbage Collector" (Zibil yığıcısı) mexanizminin iş prinsiplərini öyrənmək və ən yüksək yaddaş optimallaşdırılmasına malik sürətli tətbiqi yükləmək üçün istifadəçilər mostbet az yukle rəsmi portalındakı mühəndislik sənədlərinə müraciət edirlər.

Garbage Collector (GC) necə işləyir?

Mobil əməliyyat sistemlərində proqram daxilində yaradılan hər bir dəyişən və ya obyekt yaddaşın xüsusi bir hissəsində (Heap) saxlanılır. Artıq istifadə olunmayan və heç bir aktiv kod bloku ilə əlaqəsi qalmayan obyektlərin aşkar edilib yaddaşdan silinməsi işini Garbage Collector (GC) öz üzərinə götürür.

Müasir GC sistemləri əsasən "Mark and Sweep" (Nişanla və Sil) alqoritmi üzərində fəaliyyət göstərir. Bu proses iki əsas mərhələdən ibarətdir:

  1. Nişanlama (Mark): GC tətbiqin əsas aktiv nöqtələrindən (GC Roots) başlayaraq yaddaşdakı bütün obyektləri zəncirvari şəkildə yoxlayır. Əgər bir obyektə birbaşa və ya dolayı yolla hələ də istinad olunursa, o, "canlı" olaraq nişanlanır.

  2. Silmə (Sweep): Zəncir xaricində qalan, yəni heç bir aktiv kod tərəfindən əlçatan olmayan obyektlər yaddaşdan silinir və həmin sahələr yeni obyektlər üçün boşaldılır.

GC tərəfindən yaradılan donmalar: "Stop-the-World"

Garbage Collector olduqca faydalı iş görsə də, onun daxili fəaliyyəti tətbiqin performansına təsir edə bilər. Ağır yaddaş təmizlənməsi zamanı GC bütün digər aktiv proqram axınlarını (o cümlədən interfeysi idarə edən ana axını) müvəqqəti olaraq dondurur. Bu hadisə "Stop-the-World" (Dünyanı dayandır) adlanır.

Əgər tətbiq daxilində milisaniyələr ərzində minlərlə müvəqqəti obyekt yaradılıb dərhal atılarsa, GC tez-tez işə düşməyə məcbur olur. Nəticədə ekrandakı animasiyalar kəsikli görünür və istifadəçi interfeysində nəzərəçarpan donmalar baş verir. Bunun qarşısını almaq üçün tərtibatçılar obyektlərin təkrar istifadəsi (Object Pooling) metodundan istifadə etməli və lazımsız müvəqqəti dəyişənlərin yaradılmasından yayınmalıdırlar.

 



__________________
Page 1 of 1  sorted by
 
Quick Reply

Please log in to post quick replies.



Create your own FREE Forum
Report Abuse
Powered by ActiveBoard