Działanie garbage collector

Odpowiedz Nowy wątek
2019-09-05 14:08
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.

Pozostało 580 znaków

2019-09-05 14:42
2

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


Na Androidzie nie wybierzesz sobie GC, którego chcesz użyć. No i nie ma też JVM'a. - Michał Sikora 2019-09-05 14:52

Pozostało 580 znaków

2019-09-05 14:50
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.

edytowany 1x, ostatnio: Michał Sikora, 2019-09-05 14:54

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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