I'm trying to optimize our app for Doze
and AppStandBy
and have implemented a
test application to understand the behaviour of the system when using different background schedulers.
However I'm very confused about the behaviour when using AlarmManager
and Observable.intervall()
.
AlarmManager
I have registered an alarm through an Activity
and then brought the device via adb in Doze.
The system behaves as expected, the alarm is not fired.
Rx-Observable.intervall
I have started a Service
through an Activity
and then brought the device via adb in Doze. The Service
is NOT a foreground service.
The system does not behave as expected in my eyes and the ticks are continuous delivered to the app.
To veryfy that the device was really in Doze
I also reviewed the battery statistics with adb bugreport
, and the historian tells me that the device was in Doze
in that timespan.
Is there any documentation how the different schedulers work in Doze
or AppStandBy
?
Thanks for any advice.