Меня интересует, почему два метода, которые работают в основном потоке, по-разному переживают смерть активности. Кто-нибудь знает, почему Observable.Interval rxjava продолжает работать, а handler.postDelayed - нет?
У меня есть действие, заключающееся в подписке на класс DataStore. Класс выпускает обновления каждые 1 сек. 1 контролируется каким-то опросом (handler.postDelayed или Observable.Interval)
Когда активность находится в фоновом режиме, она через короткое время прекращается ОС, но класс DataStore не уничтожается. Служба может запрашивать обновления, но опрос больше не работает, если он написан с помощью handler.postDelayed.
Чтобы получить обработчик, который я использую, я просто звоню Handler().
@akarnokd Я попытался запустить его в потоке по умолчанию rxjava и в основном потоке, и он выполнил то же самое.
Какую версию RxAndroid вы используете?
@akarnokd 2.0.1
«Когда активность находится в фоновом режиме, она прекращается ОС через короткое время» - если ОС хочет убить вас, она убьет весь ваш процесс, а не компонент.
Какой интервал перегрузки? По умолчанию выполняется в потоке RxJava.