0

이 문구가 맞습니까? "안드로이드 2.3에서는 병합 된 객체에 포인터와 스윕을 사용하여 모든 것을 포인터로 처리하고 힙의 객체에 가비지 콜렉션을 복사합니다. garbage collector in android 2.3Dalvik GC는 동시 표시 및 스윕 또는 복사 중 하나 또는 둘 다를 사용합니까?

고마워요.

+0

HTTP를 일시 중단 : // www.brpreiss.com/books/opus5/html/page424.html. Gc는 domark 및 sweep – Raghunandan

+0

https://www.youtube.com/watch?v=_CruQY55HOk&noredirect=1. 이 비디오가 도움이 될지 확인하십시오. – Raghunandan

+0

http://stackoverflow.com/questions/16032438/how-does-garbage-collection-work-in-android-4-2-jelly-bean-dalvik-vm/16047212#16047212 – fadden

답변

1

아시다시피, dalvikvm에는 두 가지 GC 모드가 있습니다. 하나는 ConcurrentMarkSweep이고 다른 하나는 Copying입니다.

런타임에는 단 하나의 모드 만 컴파일됩니다.

그리고 기본 모드는 동시 마크 스윕 GC입니다. 병행은 gc 표시 스윕 단계에서만 사용됩니다. 그리고 GC 과정에서, 전체 단계는 다음과 같습니다

  1. 모든 다른 스레드에게
  2. 루트 표시를 일시 중단 (스레드 스택, JNI 참조, 클래스 정적 필드 & 클래스 객체)
  3. 이력서는 모든 스레드가 자체
  4. 기대 동시 마크 스윕은 gc 마크 비트 맵에 의존합니다. 여기에, 다른 스레드가
  5. 모든 다른 스레드를 일시 중단 실행 상태에있는
  6. 루트 표시가 다시
  7. cardtable
  8. 에 의해
  9. 마크 더러운 객체가 스레드를
  10. 동시 스윕