Здравствуйте.В onCreate() делаю некоторые несложные действия.При запуске приложения сначала идет белый экран на 5 сек где то, а потом уже показывается дизайн. Почему такое происходит и как это исправить?
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.header1 = (LinearLayout) findViewById(R.id.header1);
this.header2 = (LinearLayout) findViewById(R.id.header2);
this.header3 = (LinearLayout) findViewById(R.id.header3);
this.header4 = (LinearLayout) findViewById(R.id.header4);
this.header5 = (LinearLayout) findViewById(R.id.header5);
this.header6 = (LinearLayout) findViewById(R.id.header6);
this.header7 = (LinearLayout) findViewById(R.id.header7);
this.header8 = (LinearLayout) findViewById(R.id.header8);
this.header9 = (LinearLayout) findViewById(R.id.header9);
this.header10 = (LinearLayout) findViewById(R.id.header10);
this.header11 = (LinearLayout) findViewById(R.id.header11);
this.header12 = (LinearLayout) findViewById(R.id.header12);
this.header13 = (LinearLayout) findViewById(R.id.header13);
this.header14 = (LinearLayout) findViewById(R.id.header14);
this.header15 = (LinearLayout) findViewById(R.id.header15);
this.header16 = (LinearLayout) findViewById(R.id.header16);
this.header17 = (LinearLayout) findViewById(R.id.header17);
this.header18 = (LinearLayout) findViewById(R.id.header18);
this.header19 = (LinearLayout) findViewById(R.id.header19);
this.header20 = (LinearLayout) findViewById(R.id.header20);
}
Инфлейт разметки происходит методом setContentView() - именно он читает XML-файл и на его основе строит изображение на экране. То есть, результатом выполнения этого метода является изображение, следовательно действия после этого метода на скорость отображения никак не влияют.
Учитывая, сколько у вас в последствии ищется только контейнеров (а они наверняка содержат еще большое количество виджетов в себе) не трудно предположить, что инфлейт такой разметки занимает достаточное количество времени.
Вам необходимо оптимизировать свою xml-разметку, сделать ее более простой и линейной. Для начала ее необходимо "прогнать" через Hierarchy Viewer (в настоящее время это не отдельный файл, а входит в инструменты Android Studio), чтобы определить проблемные места, затем думать, как решить эти проблемы. Все "лампочки" всех элементов разметки в идеале должны быть зелеными, на крайний случай - желтыми. Универсальных решений тут нет, но есть общие рекомендации по оптимизации разметки, и еще и вот еще.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости