NestedScrollView + RecyclerView Медленная загрузка - PullRequest
0 голосов
/ 02 ноября 2019

Прежде всего, я должен сказать, что существует слишком много вопросов, похожих на этот вопрос. Поэтому, пожалуйста, перед тем, как пометить его как повторяющийся анализ один раз.

У меня есть вложенный вид прокрутки, внутри которого размещены два вида переработчика. Первый для горизонтальной прокрутки. Второй - для вертикальной прокрутки.

Функциональные возможности работают нормально. Теперь проблема в том, что загрузка в первый раз занимает 20 секунд. Служба ANR вызвана из-за этого. После загрузки прокрутка также идеально подходит.

RestarantListAdapter restarantListAdapter = new RestarantListAdapter(activity, restaurants_1);
                    LinearLayoutManager linearLayoutManager1 = new LinearLayoutManager(activity, RecyclerView.VERTICAL, false);
                    binding.rvRestaurants.setLayoutManager(linearLayoutManager1);
                    binding.rvRestaurants.setAdapter(restarantListAdapter);

binding.rvRestaurants.setNestedScrollingEnabled(false);

и

ViewCompat.setNestedScrollingEnabled(binding.rvRestaurants, false);

Я попробовал код выше. Есть ли другие возможности для решения проблемы с первой загрузкой.

1 Ответ

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

Когда вы используете RecyclerView внутри NestedScrollView, все ваши элементы отрисовываются немедленно (вы можете проверить, сколько раз вызывается onBindViewHolder). Таким образом, вы в основном потеряли все улучшения производительности, предоставляемые RecyclerView, и получили что-то вроде ListView. Поэтому, если вам действительно не нужно использовать RecyclerView внутри NestedScrollView, не делайте этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...