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

276
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
Обобщённый метод для чтения данных из файла

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

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

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

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

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

303
Forge SidedProxy is deprecated

Forge SidedProxy is deprecated

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

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

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

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

240