Загрузка XML разметки в фоне

318
29 августа 2017, 10:39

Добрый вечер! Имеется цель во время отображения первой активности (экрана загрузки) подгрузить вторую разметку в фоне, чтобы приложение не пыталось парсить разметку и, из-за этого, тормозить.

Существует ли в Android'e какой-то метод пропарсить разметку в фоне, а когда активность начнет открываться, прорисовать уже загруженный вариант разметки?

Нашел такой вариант на хабре, но он не дает возможность отобразить процесс загрузки, только фотографию. С ним все ясно, но есть ли другие варианты (даже если они противоречат гайдлайнам)?

Answer 1

Навскидку вижу 2 способа загрузки разметки в фоне:

  1. Загружать разметку с помощью LayoutInflater, поместив вызов LayoutInflater.inflate() в Handler/Thread и потом уже показать полученную вьюшку
  2. Загрузку делать через AsyncLayoutInflater (доступно только с API>=24)
Answer 2

Можно внутри одного экрана (Активити), внутри одной разметки, разместить все необходимое, включая экран загрузки. Тогда приложение будет тормозить на отображении экрана загрузки, загрузке разных фоточек и данных, а потом когда все будет готово, ТО РЕЗКО, МГНОВЕННО И ПО ХАРДКОРУ ПРОСТО ВЫКЛЮЧАЕМ ВИДИМОСТЬ ЧАСТИ С ЗАГРУЗКОЙ (View.GONE), А ПОТОМ ВРУБАЕМ ОСНОВНОЙ ГУЙ (View.VISIBLE), в результате чего у нас уже все загружено и не тормозит.

READ ALSO
Обобщённый метод для чтения данных из файла

Обобщённый метод для чтения данных из файла

ЗдравствуйтеПодскажите, как написать обобщённый метод чтения данных из файла

311
Как обновить БД SQLite

Как обновить БД SQLite

Есть БДПосле создания появляется необходимость в добавлении таблиц но для этого надо вызвать метод onUpgrade и когда вызовается этот метод просто...

350
Forge SidedProxy is deprecated

Forge SidedProxy is deprecated

В главном файле мода:

294
Servlet “не видит” атрибут

Servlet “не видит” атрибут

Создаю сервлет, в классе добавляю в request атрибуты,

280