Я выполняю следующие операции в фоновом потоке:
- Сохранение данных байтового изображения локально в формате JPEG.
- Выбор изображения в виде растрового изображения.
- Запустите алгоритм обнаружения лиц и выберите точки лица
- Поместите оверлей в соответствии с этими точками
- И, наконец, сохраните этот растровое изображение снова.
Во время выполнения этих операций яЯ показываю индикатор выполнения.Но анимация индикатора выполнения застревает, т.е. она перестает отвечать до тех пор, пока поток не завершит свою работу (обновление: кажется, что ничего во всем пользовательском интерфейсе не работает во время фоновой работы).
Разве это не создает реальных намеренийиспользование фонового потока устарело?
Какой подход я должен использовать для преодоления этой проблемы?
Мой код:
//Show ProgressBar
Runnable worker = () -> {
//My Operations
runOnUiThread(() -> {
//Hide ProgressBar
});
}