Мы используем файлы cookie для улучшения работы сайта и предоставления вам персонализированного опыта. Правила использования файлов cookie можно найти в нашей политике конфиденциальности
LeakCanary использует слабое (Phantom Reference) или сильное (Strong Reference) ссылочное поле в специальном Observer, который "слушает" жизненный цикл Activity. Когда Activity уничтожается, LeakCanary фиксирует время и ждет сборки мусора. Если после сборки мусора объект Activity все еще существует в памяти, LeakCanary инициирует дамп кучи (heap dump), анализирует его и строит граф достижимости, чтобы найти путь от GC Roots к этому "утекшему" Activity.
Ключевые шаги:
ActivityLifecycleCallbacks
.onDestroy()
, LeakCanary создает ссылку на Activity (зависит от версии) и записывает отметку времени.LeakCanary использует слабое (Phantom Reference) или сильное (Strong Reference) ссылочное поле в специальном Observer, который "слушает" жизненный цикл Activity. Когда Activity уничтожается, LeakCanary фиксирует время и ждет сборки мусора. Если после сборки мусора объект Activity все еще существует в памяти, LeakCanary инициирует дамп кучи (heap dump), анализирует его и строит граф достижимости, чтобы найти путь от GC Roots к этому "утекшему" Activity.
Ключевые шаги:
ActivityLifecycleCallbacks
.onDestroy()
, LeakCanary создает ссылку на Activity (зависит от версии) и записывает отметку времени.Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.