Я добавляю ComposeView прямо в корень активности (именно так я запускаю ModalBottomsheetLayout из представления xml, пример ниже упрощен, но все же воспроизводим)
Вот весь фрагмент воспроизводимого примера:
когда я нажимаю «запуститьBS» — ComposeView добавляется в действие, которое содержит NavHost для будущей области видимости модели и т. д.
когда я нажимаю «закрытьBS» - я извлекаю стек NavController и удаляю ComposeView из активности.
проблема:
при удалении ComposeView - NavHostController все еще выделяется в памяти. Например, когда я открываю/закрываю 5 раз, у меня есть 5 распределений. Освобождение происходит только при уничтожении активности.
Вопросы:
Это предназначено поведение NahHost / NavController?
Существует ли исправление или обходной путь для уничтожения NavController и связанных с ним выделений NavHost, даже если активность все еще активна?
Я добавляю ComposeView прямо в корень активности (именно так я запускаю ModalBottomsheetLayout из представления xml, пример ниже упрощен, но все же воспроизводим) Вот весь фрагмент воспроизводимого примера: [code]class TestFragment : Fragment() {
Объяснение: [list] [*]когда я нажимаю «запуститьBS» — ComposeView добавляется в действие, которое содержит NavHost для будущей области видимости модели и т. д. [*]когда я нажимаю «закрытьBS» - я извлекаю стек NavController и удаляю ComposeView из активности. проблема: [list] [*]при удалении ComposeView - NavHostController все еще выделяется в памяти. Например, когда я открываю/закрываю 5 раз, у меня есть 5 распределений. Освобождение происходит только при уничтожении активности. [/list] Вопросы: [list] [*]Это предназначено поведение NahHost / NavController? [*]Существует ли исправление или обходной путь для уничтожения NavController и связанных с ним выделений NavHost, даже если активность все еще активна? [/list]Вот воспроизводимый пример https://github.com/dkachan1941/Android-NavHost-Leak-Demo [img]https://i.sstatic .net/wcx8JLY8.png[/img] [img]https://i.sstatic.net/6ftglrBM.png[/img]