В Android сборка мусора выполняется по процессам или по всей системе? - PullRequest
0 голосов
/ 17 июля 2011

В журнале, когда вы видите что-то вроде:

DEBUG/dalvikvm(####): GC freed 5052 objects / 577400 bytes in 54ms

Означает ли это, что он освободил 5052 объекта, которые само мое приложение создало, или некоторые из этих 5052 объектов могли быть объектами, созданными в фоновом режиме другими приложениями?

Ответы [ 2 ]

2 голосов
/ 17 июля 2011

В Android каждое приложение запускается в своем собственном процессе, каждое из которых работает в своей собственной виртуальной машине (ВМ).GC, который вы просматриваете, относится к вашему приложению, поэтому информация принадлежит только вашему приложению.

Dalvik VM использует трассирующий сборщик мусора (подход Mark & ​​Sweep) .

1 голос
/ 17 июля 2011

Число в скобках - это номер процесса, для которого работает сборщик мусора.Вы можете сделать ps из оболочки или проверить DDMS, чтобы узнать номер процесса для вашего приложения.Отфильтруйте по номеру процесса, чтобы увидеть, как происходит сборка мусора для экземпляра виртуальной машины, на котором выполняется ваше приложение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...