Działanie garbage collector

0

Cześć, próbuje ogarnąć jak mniej więcej działa garbage collector, proszę o ewentualne poprawienie mnie, więc:

Dana aplikacja ma zerezerwowane X mb ram (czyli z tego co rozumiem, jest tam miejsce dla sterty?) garbage collector w tym momencie ma za zadanie śledzić, które obiekty mają referencje.Jeżeli dany obiekt posiada jakieś referencje, jest on wykonywany w pamięci ram, a jeżeli nie, jest usuwany do stery i czeka na ewentualne użycie. Gc ogółem dba o to, żeby te X mb pamięci ram dla danej aplikacji było cały czas dostępne? Czy jest możliwość wyłączenia gc? Pytam, bo jeżeli tak, to mamy murowany wyciek pamięci.

2

Nie tyle można wyłączyć GC co wybrać GC który nigdy nie zwalnia pamięci. Nazywa się on Epsilon.

0

GC na Androidzie jest różny w zależności od wersji Androida i rozwija się z wersji na wersję. Mechanizm działania i to kiedy się wywali może zależeć od konkretnej implementacji. Największy przeskok był między Androidem 4.4 i Androidem 5, gdzie zmienili maszynę wirtualną. Wyłączyć, z tego co wiem, to się nie da.

GC nie ma jakiejś dobrej dokumentacji. Najlepsze materiały do zapoznania się na szybko to prezentacje z konferencji.

1 użytkowników online, w tym zalogowanych: 0, gości: 1