我有一个应用程序,主要是设计在后台运行。唯一值得注意的是,麦克风有一个24/7全天候运行的MediaRecorder,警报管理器被设置为每5-10分钟(基于用户设置)运行一些非常简单的(非cpu密集型)代码。
我手机上的电池使用情况报告显示,这款应用每小时的电池使用率约为100Gbps,而Instagram和Snapchat等应用的平均时速约为25-30 mA。消耗水平报告说,它负责我的手机电池大脑的25%。最后的功耗分析显示"CPU使用时间(后台):33分钟48秒,GPS运行时间<1秒,Wi-Fi运行时间<1秒,保持系统开机1分24秒。“
考虑到该应用程序被设计为在后台全天候运行,我试图尽可能减少功耗。我认为像Instagram和Snapchat这样的应用程序会不断地检查新消息,因此会比每5-10分钟才运行一次的应用程序更耗电,但显然不是这样。
我确实在后台运行了其他几个线程,但它们主要用于计时,应该在不超过5秒后关闭。他们有什么关于如何降低功耗的建议吗?
发布于 2019-02-05 00:11:59
MediaRecorder最有可能是罪魁祸首,因为它使媒体通道保持通电。大多数编写良好的应用程序不会不断检查新消息和事件,而是使用推送通知
此外,建议使用JobScheduler而不是报警管理器
https://stackoverflow.com/questions/54519991
复制相似问题