Подтвердить что ты не робот

Allocation Tracker: как использовать его для обнаружения утечек памяти?

У меня есть два действия: A и B. Начиная с A, я перехожу к активности B. Затем я вызываю финиш() на B и возвращаюсь к A. Каждый раз, когда я повторяю этот процесс, выделенная память увеличивается на 0,1 МБ.

Итак, я хочу узнать, что вызывает эту утечку. Я попытался использовать диспетчер выделения, отслеживая выделенную память во время только что упомянутого процесса. Затем, когда я нажимаю "Get Allocations", я получаю длинный список распределений. Мой вопрос: как мне прочитать этот список, чтобы узнать, что вызывает утечку?

Я попытался решить это, выпустив все ресурсы в методе onDestroy активности B, и это немного помогло. Кроме того, я не выделяю новую память в методе onResume активности A.

Просто чтобы показать, что я правильно использую отслеживание рассылки:

enter image description here

4b9b3361

Ответ 1

Вы должны проверить это видео, это объясняет обнаружение утечки памяти в деталях и просто отлично:)

Ответ 2

Я считаю, что Allocation Tracker - это журнал элементов, которые были выделены для памяти (то есть инициализированы). Это не снимок предметов, находящихся в памяти. Вам нужно посмотреть на кучу для этого.