Intereting Posts
Метод drawplacement () ResplacementSpan не вызывается «Проблема с записью вывода: Слишком много ссылок на поле: 70185; Max – 65536. Вы можете попробовать использовать опцию –multi-dex. "При создании Android-проекта Android PopupWindow скрыт за кнопками навигации в Nexus 5 Как увидеть заголовки запросов в запросах Android WebView? Учебник Google Android – не компиляция Почему я должен включать зависимость градиента как `@ aar` Что имеет преимущество, типы сборки или ароматы Gradle? Какая разница между compileSdkVersion 'Google Inc.: API Google: 23' и compileSdkVersion 23 Почему криптообъект необходим для проверки подлинности отпечатка пальца андроида? Я хочу установить вычисленный приоритет, используя временную метку сервера, предоставленную Firebase SQLite DatabaseUtils.queryNumEntries не работает на реальном устройстве, но работает на эмуляторе Добавление LinearLayout к LinearLayout в Android Прокрутка Android TextView Android itext с использованием шрифтов активов и текста utf-8 Загрузка TIFF в Android

Webview внутри RecyclerView показывает пустой экран иногда только на устройствах Nougat

В моем устройстве Nougat веб-просмотр внутри RecyclerView иногда пуст. Когда я прокручиваю медленно, а затем возвращаюсь к содержимому веб-контента, исчезает. На устройствах под Android N. нет проблем. Android N использует Chrome в качестве браузера по умолчанию для приложений. Поэтому я подумал, что в Chrome может быть ошибка, поэтому я также поднимаю ошибку на портале Chrome. В SO есть несколько связанных вопросов, но это не решило мою проблему. Итак, есть ли способ настройки веб-просмотра Android, который может решить эту проблему? Я написал подробное описание в ссылке с ошибкой.

Ссылка на ошибку: нажмите здесь

Мой код метода onBindViewHolder для WebView

final VHItem vhItem = (VHItem) holder; vhItem.webViewChild.getSettings().setUseWideViewPort(false); vhItem.webViewChild.getSettings().setJavaScriptEnabled(true); vhItem.webViewChild.loadData("<body>" + html + "</body>", "text/html;charset=utf-8", "utf-8"); 

где

Html – это строка html

Для начала веб-просмотр потребляет память, потому что она загружает и отображает данные html. Вместо того, чтобы использовать веб-просмотр в представлении recycler, я думаю, было бы лучше, если бы вы реализовали его одним из этих двух способов: 1. Вы обрабатываете список данных в html и отправляете его в веб-просмотр и полностью удаляете просмотр ресайклера 2. Вы рисуете макет ожидаемого содержимого в xml и раздуваете его непосредственно в recyclerview и удаляете веб-просмотр. (Примечание: вы можете раздувать разные виды в ресайклере в зависимости от положения адаптера и данных в этом положении).

Использование веб-представления может показаться простым способом реализовать все, что вы пытаетесь, но, поверьте мне, недостатки избавляют от выгоды. Поэтому его лучше всего избежать. Удачи…

Эта проблема может возникнуть по многим возможным причинам

  • Когда вы быстро прокручиваете Recyclerview, это чисто основано на минимальном раздувании представления и повторном использовании существующих представлений. Это означает, что пока вы прокручиваете, когда вид (элемент) выходит из вашего экрана, тот же вид покупается ниже, просто изменяя его содержимое. Когда вы загружаете из Интернета, всегда лучше сначала загрузить все данные, а затем отобразить их. Webview потребляет много данных и полностью соответствует принципу дизайна, чтобы иметь их в Recyclerview.

Чтобы восстановить это, вы могли бы добавить некоторую кнопку для перезагрузки данных или обновления при каждом просмотре представления.

  • Нуга удалил некоторые функции из класса http urlconnection. Я не уверен в этом. Но в одном из видеороликов Google, T видел что-то об амортизации некоторых функций и методов

Надеюсь, вы найдете это полезным.