我在服务中使用Wakelock,因为该服务和便捷工具必须一直工作。它工作得很好,但是消耗电池电量的速度非常快。
实际上我的唤醒锁代码是:
public static PowerManager pm;
public static PowerManager.WakeLock wl;
wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "My Tag");
wl.acquire();
如果服务关闭,我会
wl.release();
我认为这是一种方法,但不是最好的方法。还有另一个问题-我可以使用“我的标签”什么。
也许你可以帮我。谢谢。
最佳答案
正如文档所说:
使用此API将严重影响设备的电池寿命。除非您确实需要PowerManager.WakeLocks,否则请不要使用它们,请使用最低级别并确保尽快释放它们。
因此,长时间使用WakeLock肯定会耗尽电池。没有解决方法! WakeLock用于防止手机进入待机模式,它们可以保持CPU处于打开状态!如您所知,保持CPU开启会导致电池耗电。
我的建议是仅在需要时获取唤醒锁,然后立即释放!如果您可以告诉我们您的目标是什么,我们可以为您提供帮助。
“ MyTag”仅用于调试内容。例如,如果您遇到异常,则日志猫会打印“ MyTag”作为WakeLock的名称,从而导致