Понимание представления порхающей памяти

#flutter #memory #memory-management #memory-leaks

#порхание #память #управление памятью #утечки памяти

Вопрос:

У меня некоторые проблемы с пониманием представления flutter memory. Изучая снимок памяти моего приложения, я вижу, что существует слишком много экземпляров некоторых виджетов.

Снимок

Например, CollectionScreen. Я ожидаю увидеть только один, это указывает на утечку. Но количество для каждого экземпляра = 0. Что это значит?

Глядя справа, у меня есть только 2 значения, одно из которых — ValueNotifier, а другое — класс «data». Оба не должны содержать ссылки на сам виджет или что-либо еще.

В представлении Android memory View я всегда мог проверить, на какие объекты также содержатся ссылки в просочившихся экземплярах, а затем изучить эти объекты, чтобы увидеть, какие ссылки на них также содержатся. Как я могу сделать то же самое с Flutter?

Кроме того, возвращаясь к утечке, коллекция была передана в качестве параметра на CollectionScreen, когда я ее создавал. Должен ли я каким-либо образом обнулять ссылку при уничтожении виджета, чтобы избежать утечки? Что удерживает мой CollectionScreen в памяти?