Как настроить экран spla sh на время загрузки базы данных? - PullRequest
1 голос
/ 25 марта 2020

Я все еще относительно новичок в Android. Я следовал этому codelab на компонентах архитектуры, чтобы хранить около 2 тыс. Объектов в моей базе данных с сервера.

Я реализовал свой экран spla sh с использованием layer-list ( source ), что означает, что экран spla sh будет работать до тех пор, пока MainActivity выполняет некоторую обработку. Поскольку БД загружается в обратном потоке, это позволяет избежать этого условия.

Это приводит к тому, что мое приложение запускается без данных, которые загружаются при запуске примерно на 10 секунд, пока все в значительной степени зависает. Как только он загружается, все работает нормально, но меня поражает это очевидное сообщение от хореографа: I/Choreographer: Skipped 1208 frames! The application may be doing too much work on its main thread.

Поэтому мой вопрос состоит в том, чтобы не пропускать все эти кадры и чтобы мое приложение не отставало, как мне это сделать? реализовать мой SplashActivity (или MainActivity ??), чтобы мой MainActivity не запускался до того, как все мои данные были загружены ???

1 Ответ

0 голосов
/ 25 марта 2020

загрузите вашу базу данных асинхронно (я предлагаю использовать сопрограмму) и затем начните свою деятельность, когда закончите

...