Как загрузить просмотры ленивым способом?

В настоящее время я создаю приложение с несколькими представлениями. Загрузка занимает много времени. Он начинается с белого экрана и ждет около 5 секунд, чтобы загрузить содержимое. Есть ли способ загружать представления одно за другим после вызова onCreate? Это может дать ощущение, что приложение загружается быстрее и становится более отзывчивым.

Если я установлю видимость всех представлений на GONE, а позже изменю каждое на VISIBLE внутри обработчика, есть ли какая-то выгода ?.

Могу ли я использовать здесь ViewStub? ..

Вы используете Android Widget или пользовательские представления? 5 секунд - это много времени, вы столкнетесь с ANR .... Выполняете ли вы какое-то задание для чтения / записи диска или сетевое задание на UiThread? На самом деле рекомендуется использовать ViewStub больше, чем видимость вида, если у вас есть динамический контент, также используйте RecyclerView, если у вас много просмотров ... UiRendering всегда должен быть меньше 100 мс. Вы можете активировать строгий режим, чтобы увидеть, выполняете ли вы какую-либо работу над потоком пользовательского интерфейса, и изменить его на фоновый поток ... Показать экран загрузки, если вам нужно чтение с диска или сеть ...

Anis BEN NSIR 03.10.2018 12:30

Я использую как пользовательские, так и Android-представления.

pz64_ 03.10.2018 12:39

Я только что попробовал AsyncLayoutInflater и думаю, что он делает то, что я хотел… но не совсем так. Теперь приложение полностью загружается с основным макетом и ждет макета содержимого (здесь много просмотров).

pz64_ 03.10.2018 12:48

прокручивается ли ваш основной контент? если это так, вам нужно использовать RecyclerView ... Вам необходимо отладить свои пользовательские представления Скорость рисования, возможно, вы могли бы добиться максимальной производительности с помощью некоторого рефакторинга ... убедитесь, что на ваших customViews нет предупреждения ... Вы должны убедитесь, что ваше приложение соответствует требованию строгого режима, чтобы убедиться, что ваш пользовательский интерфейс по-прежнему реагирует на взаимодействие с пользователем.

Anis BEN NSIR 03.10.2018 14:14
0
4
82
0

Другие вопросы по теме