RxJava android电池耗电RxSchedulerPurge

问题描述

问题

我正在调查Android Java应用程序的电池耗电问题。该应用程序正在使用RxJavaRxAndroid。 Android Studio分析工具显示RxJava可以使某些线程保持活动状态,即使该应用程序在后台并且Observables也已处置。

我尝试过的

我分析了RxAndroid sample application,并得到了相同的结果:

RxAndroid sample CPU profiling,Rx related threads keep being active

RxCachedThreadS在将应用移至后台后约1分钟死了,而RxSchedulerPurge则以固定间隔(即使在屏幕关闭的情况下)也不断唤醒应用。

问题

  • 这是否有助于消耗设备电池电量?
  • 我可以安全地禁用RxSchedulerPurge或减小吹扫间隔以减少电池消耗吗?

我发现可以在RxJava 3.x docs自定义以下常量

  • rx3.purge-enabled(布尔值):启用定期清除所有Scheduler的后备线程池的功能认值为false
  • rx3.purge-period-seconds(int):指定所有Scheduler的后备线程池的定期清除时间间隔,认值为1秒

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)