Добавьте ComposeView к элементу в RecyclerView, разверните RecyclerView внутри фрагмента
Переключение между фрагментами, имеющими ComposeView, как указано в шаге 1
Создание дампа кучи и проверьте наличие утечек памяти
Фрагмент, содержащий ComposeView, имеет утечку
Глядя на внутренний исходный код Compose, Похоже, что AndroidComposeViewAccessibilityDelegateCompat добавляет View.OnAttachStateChangeListener в ComposeView, вызывая view.addOnAttachStateChangeListener(), но никогда не удаляет этот прослушиватель, вызывая view.removeOnAttachStateChangeListener(), что вызывает утечка. Я уже сообщал об этой проблеме в Google здесь - https://issuetracker.google.com/issues/340815318
Кто-нибудь знает, можно ли это как-то исправить со стороны приложения? Заранее спасибо. Что я уже пробовал:
Использование различных стратегий ViewCompositionStrategy например DisposeOnDetachedFromWindowOrReleasedFromPool, DisposeOnViewTreeLifecycleDestroyed и т. д.
Вызов DisposeComposition() вручную при переработке элемента переработчика
Примечание:
Версия компилятора Compose — 1.5.13< /li>
Версия пользовательского интерфейса Compose — 1.6.7
Шаги по воспроизведению проблемы: [list] [*]Добавьте ComposeView к элементу в RecyclerView, разверните RecyclerView внутри фрагмента [*]Переключение между фрагментами, имеющими ComposeView, как указано в шаге 1 [*]Создание дампа кучи и проверьте наличие утечек памяти [*]Фрагмент, содержащий ComposeView, имеет утечку [/list] [img]https://i.sstatic.net/E4d7ydZP.png[/img] Глядя на внутренний исходный код Compose, Похоже, что AndroidComposeViewAccessibilityDelegateCompat добавляет View.OnAttachStateChangeListener в ComposeView, вызывая view.addOnAttachStateChangeListener(), но никогда не удаляет этот прослушиватель, вызывая view.removeOnAttachStateChangeListener(), что вызывает утечка. Я уже сообщал об этой проблеме в Google здесь - https://issuetracker.google.com/issues/340815318 Кто-нибудь знает, можно ли это как-то исправить со стороны приложения? Заранее спасибо. [b]Что я уже пробовал:[/b] [list] [*]Использование различных стратегий ViewCompositionStrategy например DisposeOnDetachedFromWindowOrReleasedFromPool, DisposeOnViewTreeLifecycleDestroyed и т. д. [*]Вызов DisposeComposition() вручную при переработке элемента переработчика [/list] [b]Примечание:[/b] [list] [*]Версия компилятора Compose — 1.5.13< /li> Версия пользовательского интерфейса Compose — 1.6.7 [*]Версия Kotlin: 1.9.23 [/list]
Я использую Espresso для тестирования экрана с RecyclerView и ComposeView в ViewHolder. Я хочу щелкнуть определенный составной объект внутри RecyclerView Спасибо
Я использую ComposeView внутри представления элемента RecyclerView. Моя цель — предварительно отрисовать элементы (например, следующий и предыдущий элементы в списке), чтобы сделать прокрутку более плавной и гарантировать, что контент готов до его...
У меня есть RecyclerView внутри RecyclerView. Когда я запускаю просмотр, все в порядке. Но когда я обновляю свой RecyclerView (родительский), мое представление автоматически прокручивается до первого дочернего RecyclerView. Я не вижу элемента в...
Я написал модуль, прикрепленный ниже. Тем не менее, я замечаю постоянное увеличение оперативной памяти, пока не получу ошибку в памяти. Код работает на процессоре без проблем (кроме медленного времени обучения). Он может завершить первый шаг...