Все функции приостановлены во время обновления переработчика - PullRequest
0 голосов
/ 09 ноября 2019

Мне нужно применить gridlayout к представлению переработчика и нарисовать 1600 элементов в начале приложения. Затем я использую прокрутку, чтобы перейти к нужному месту. Но это не прокрутка. Поскольку приложение зависает во время работы notifyDataSetChanged И когда элементы отображаются в представлении реселлера, остановка отменяется.

Порядок выполнения

-Добавить элемент -notifyDataSetChanged -Scroll Move

После создания кнопки тестирования При нажатии этой кнопки после завершения обновления запускается прокрутка.

Запуск notifyDataSetChanged в runOnUiThread также на некоторое время останавливает приложение. В чем причина?

        new Thread(new Runnable() {
            @Override
            public void run() {
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        adapter.notifyDataSetChanged();
                        mBinding.loading.setVisibility(View.GONE);
                        mBinding.horizontalScrollView.scrollBy(((int)((51*movey)*destiny)),0);
                        mBinding.recyclerView.scrollBy(0,((int)((51*movex)*destiny)));
                    }
                });
            }
        }).start();

1 Ответ

0 голосов
/ 09 ноября 2019

Остановка может быть результатом интенсивного использования процессора и графического процессора.

В качестве рекомендации вы можете использовать Paging, чтобы показывать несколько элементов за запрос.

...