это expected:
https://medium.com/mobile-app-development-publication/recyclerview-with-compose-view-is-not-performant-97c74df4b77f
Есть идеи можно ли оптимизировать? Или всё-таки придется на LazyColumn переписывать?
(Кейс: старый Recycler с кучей типов epoxy view, один тип item'ов решили переписать на compose).
Compose version: 1.2.0-beta01
Там в статье на каждый bind делается setContent. Кажется, можно делать setContent только один раз в init секции ViewHolder. Сделать внутренний проперти MutableState и менять его в bind.
Переписал на кастомный holder (по умолчанию epoxy его сама делает) https://pastebin.com/UfkpTxwr Всё равно есть лаги. Смущает, что лямбда в setContent опять же вызывается каждый раз при биндинге. Или это норм? 🤔
Если скролл не происходит, я бы ожидал что не будет вызываться.
Обсуждают сегодня