В настоящее время я создаю приложение с несколькими представлениями. Загрузка занимает много времени. Он начинается с белого экрана и ждет около 5 секунд, чтобы загрузить содержимое. Есть ли способ загружать представления одно за другим после вызова onCreate? Это может дать ощущение, что приложение загружается быстрее и становится более отзывчивым.
Если я установлю видимость всех представлений на GONE, а позже изменю каждое на VISIBLE внутри обработчика, есть ли какая-то выгода ?.
Могу ли я использовать здесь ViewStub? ..
Я использую как пользовательские, так и Android-представления.
Я только что попробовал AsyncLayoutInflater и думаю, что он делает то, что я хотел… но не совсем так. Теперь приложение полностью загружается с основным макетом и ждет макета содержимого (здесь много просмотров).
прокручивается ли ваш основной контент? если это так, вам нужно использовать RecyclerView ... Вам необходимо отладить свои пользовательские представления Скорость рисования, возможно, вы могли бы добиться максимальной производительности с помощью некоторого рефакторинга ... убедитесь, что на ваших customViews нет предупреждения ... Вы должны убедитесь, что ваше приложение соответствует требованию строгого режима, чтобы убедиться, что ваш пользовательский интерфейс по-прежнему реагирует на взаимодействие с пользователем.
Вы используете Android Widget или пользовательские представления? 5 секунд - это много времени, вы столкнетесь с ANR .... Выполняете ли вы какое-то задание для чтения / записи диска или сетевое задание на UiThread? На самом деле рекомендуется использовать ViewStub больше, чем видимость вида, если у вас есть динамический контент, также используйте RecyclerView, если у вас много просмотров ... UiRendering всегда должен быть меньше 100 мс. Вы можете активировать строгий режим, чтобы увидеть, выполняете ли вы какую-либо работу над потоком пользовательского интерфейса, и изменить его на фоновый поток ... Показать экран загрузки, если вам нужно чтение с диска или сеть ...