Инициализировать медленно загружаемый ресурс на Android? - PullRequest
0 голосов
/ 02 декабря 2019

У меня приложение для Android , написанное на Java. Он использует класс Java, который загружается за несколько секунд (некоторые файлы .csv и jar-файлы).

Какой идиоматический способ загрузки этого материала?

Я унаследовал код и сейчас он пытается загрузить его в фоновом режиме, но я думаю, что есть некоторые условия гонки, вызывающие ошибки.

Мне просто нужна хорошая, синхронная, медленная, но надежная загрузка (скажем, заставки) при запуске приложения.

Я нашел много постов в блоге о реализации заставки .

Есть ли официальная версия?

Код, который загружается в фоновом режиме:

/**
 * Initialize staticAnthro if it is null.
 * This class loads CSV files, so do it in the background.
 */
static class InitInBackground extends AsyncTask<Void, Integer, Boolean> {
    @NonNull
    @Override
    protected Boolean doInBackground(Void... arg0) {
        startedInit = true;
        try {
            if (staticAnthro == null) {
                staticAnthro = new Anthro();
            }
        } catch (IOException e) {
            Log.e(LOGGER_TAG, "Error starting Anthro class", e);
        }

        return true;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...