Recyclerview все еще зависает / тормозит при прокрутке с помощью DiffUtil в фоновом потоке - PullRequest
0 голосов
/ 29 мая 2020

У меня есть рециклер на 20-60 наименований. Я использую Room + Livedata и Diffutil. Recyclerview обычно обновляется 2-3 раза в секунду. Элементы не изменяют только измененное содержимое элементов, например процентное изменение загружаемого в данный момент элемента. Я использую diffutil в фоновом потоке. Я отклоняю любые обновления, пока работает diffutil, и сохраняю и обрабатываю только последнее обновление. Я не использую ItemAnimator и передаю полезные данные, чтобы изменить только процентное значение onbindView.

Вскоре , я использовал все возможные решения, которые нашел, чтобы сделать RecyclerView более плавным и быстрым.

Однако , прокрутка по-прежнему замораживает пользовательский интерфейс примерно на 0,2 секунды, если элемент обновляется во время прокрутки. Это случается даже тогда, когда элемент не виден пользователю в это время.

Есть ли у вас какие-либо предложения, или мне следует принять эту задержку и продолжить?

...