Я сталкиваюсь с странным поведением в своем приложении Android на некоторых устройствах под управлением Android +11. Иногда приложение получает ANR (приложение не отвечает) в фоновом режиме, в частности, в классе приложения. Firebase Crashlytics, но я не смог воспроизвести это сам. Тем не менее, он последовательно указывает на класс приложений, и это происходит, в то время как приложение находится в фоновом режиме «ANR, запускаемое медленными операциями в основном потоке» < /p>
Я создаю функцию для обработки инициализации на фоне, как это: < /p>
Код: Выделить всё
fun performTaskInBackground(
backgroundTask: () -> T,
mainThreadTask: (T) -> Unit
) {
Observable.fromCallable { backgroundTask() }
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe({ result -> mainThreadTask(result) }
, { throwable ->
throwable.printStackTrace()
})
} ```
Но я заметил, что некоторым из них требуется некоторое время для инициализации, согласно Firebase, и проблема также происходит в других частях приложения.
Подробнее здесь:
https://stackoverflow.com/questions/795 ... ialisation