2

편집 :이 문은 "그래서 안드로이드 2.3 동시 표시 및 스윕은 모든 것을 포인터로 처리하고 가비지 수집을 힙의 개체에 사용하는 스택 관련 개체에 사용됩니다. 어느 누구도 설명 할 수 있습니까? garbage collector in android 2.3안드로이드 4.2에서 가비지 컬렉션은 어떻게 작동합니까? Dalvik VM?

나는 안드로이드에서 가비지 컬렉션의 대상이 논의되고있다 알지만, 젤리 빈 4.2입니다 안드로이드의 최신 버전에 특별히 작동 방법에 대한 명확하고 자세한 설명을 찾을 수 없습니다 . 주요 질문 외에도

내가 두 개 더 구체적인 질문이 있습니다 (마크 및 스윕, 동시 표시 및 스윕, 복사, 증분, 세대를 ..) 알고리즘을

1) 이다 를 구현 어떻게 그들이 실제 안드로이드/Dalvik에 적응했습니다?

2) 초보자인데 어떻게해야합니까? 은 어떻게 작동합니까? (방법론 또는 도구)?

모든 의견을 환영합니다.

답변

7

Dalvik의 가비지 컬렉터는 Gingerbread (2.3) 이후 크게 변경되지 않았으므로 그 시대 또는 그 이후의 정보는 Jellybean에 적용될 가능성이 큽니다.

동시 마크 및 스윕 방식을 사용합니다. 복사하거나 압축하지 않으며 약간의 세대 개념 (접합자가 할당 한 메모리 최적화)이 있습니다.

어떻게 작동하는지 이해하는 가장 좋은 방법은 소스를 읽는 것입니다. 관련 코드의 대부분은 dalvik/vm/alloc에 있습니다.