我有一个专门设计用于在后台运行的应用。唯一值得注意的事情是,有很多MediaRecorder为麦克风运行24/7,并且警报管理器设置为每5-10分钟运行一些非常简单的(非CPU密集型)代码(基于用户设置)。
我手机上的电池使用情况详细信息报告说该应用程序每小时使用约100 mA的电流,而Instagram和Snapchat之类的应用程序每小时平均使用约25-30 mA。消费水平报告了它占我手机电池25%的大脑的原因。最后,Power Analysis显示“ CPU使用时间(背景):33分钟,48s,GPS运行时间<1s,Wi-Fi运行时间<1s,系统保持1分钟24s的状态。”
考虑到该应用程序旨在在后台运行24/7,因此我试图尽可能降低功耗。我认为Instagram和Snapchat之类的应用程序会不断检查新消息,因此比每隔5-10分钟运行一次的应用程序要耗电更多,但显然并非如此。
我确实在后台运行其他几个线程,但是它们通常用于计时,应在不超过5秒后关闭。他们对降低功耗有何建议?
答案 0 :(得分:0)
最有可能的罪魁祸首是MediaRecorder,因为它使媒体路径保持打开状态。编写最出色的应用不会经常检查新消息和事件,而是使用推送通知
此外,建议使用JobScheduler代替警报管理器