Почему handler.postDelayed перестает работать, когда приложение находится в фоновом режиме, а Observable.interval rxjava2 - нет?

Меня интересует, почему два метода, которые работают в основном потоке, по-разному переживают смерть активности. Кто-нибудь знает, почему Observable.Interval rxjava продолжает работать, а handler.postDelayed - нет?

У меня есть действие, заключающееся в подписке на класс DataStore. Класс выпускает обновления каждые 1 сек. 1 контролируется каким-то опросом (handler.postDelayed или Observable.Interval)

Когда активность находится в фоновом режиме, она через короткое время прекращается ОС, но класс DataStore не уничтожается. Служба может запрашивать обновления, но опрос больше не работает, если он написан с помощью handler.postDelayed.

Чтобы получить обработчик, который я использую, я просто звоню Handler().

Какой интервал перегрузки? По умолчанию выполняется в потоке RxJava.

akarnokd 10.01.2019 09:00

@akarnokd Я попытался запустить его в потоке по умолчанию rxjava и в основном потоке, и он выполнил то же самое.

user1715285 10.01.2019 16:36

Какую версию RxAndroid вы используете?

akarnokd 10.01.2019 16:41

@akarnokd 2.0.1

user1715285 10.01.2019 17:07

«Когда активность находится в фоновом режиме, она прекращается ОС через короткое время» - если ОС хочет убить вас, она убьет весь ваш процесс, а не компонент.

HeyAlex 19.01.2019 19:26
1
5
94
0

Другие вопросы по теме