Я загружаю двадцать элементов (WebViews) в LinearLayout, и пока они загружаются, я показываю ProgressBar, который скрывает LinearLayout, чтобы обеспечить обратную связь с пользователем, что я делаю работу.Android ProgressBar пропускает фреймы
Проблема заключается в том, что колесо прогресса замерзает, и я получаю предупреждение в LogCat от хореографа, говорящего «Пропущенные рамки! Приложение может делать слишком много работы над своей основной нитью».
Чтобы избежать этой проблемы, я фактически попытался перейти от использования LinearLayout со всеми 20 элементами и с помощью ListView с адаптером. Я столкнулся с проблемами переустановки WebView, поэтому я исключил возможность утилизации и фактически использовал массив из 20 элементов, и каждый раз, когда ListView должен загружать элемент, он загружается из этого массива, если он уже был накачан раньше.
Затем я попал в проблему, что не могу прокрутить указанный элемент, потому что ListView загружает WebView только тогда, когда это необходимо, поэтому он не может рассчитать количество прокрутки, которое необходимо выполнить, так как высоты WebViews варьироваться.
Заключение Мне пришлось вернуться к моей реализации LinearLayout, добавив к ней все WebView.
Есть ли решение этой проблемы? Если этого не произошло, я думаю о том, чтобы показывать только «Загрузка ...» TextView вместо анимированного ProgressBar.
Кстати, прежде чем кто-то спросит, я использую Nexus 4 для тестирования приложения, а не эмулятора, и я не делаю доступа к базе данных в потоке пользовательского интерфейса.
Заранее спасибо.
Я никогда не использовал эти инструменты, и сегодня я должен закончить приложение, но я узнаю, как их использовать позже, и посмотрите, есть ли способ немного улучшить приложение. Благодарю. –