Lor*_*ork 3 java android standby alarmmanager
我正在使用我的Android服务处理器,每隔60分钟(1小时)重新进行一些操作,使用PartialWakeLock保持手机不睡觉.但这会导致大量电池使用.
所以决定研究一下有人在这里写的完美的AlarmManager(我是noob).
但现在在网上阅读我发现谁使用AlarmManager,仍然需要一个WakeLock.这是真的吗?
每60分钟(1小时)运行一个循环的最佳方法是什么,而不会杀死电池?
感谢名单
PS
AlarmManager Android Developer
只要警报接收器的onReceive()方法正在执行,警报管理器就会保持CPU唤醒锁定.这可以保证在您完成广播处理之后手机不会睡眠.一旦onReceive()返回,Alarm Manager就会释放此唤醒锁.这意味着在某些情况下,只要onReceive()方法完成,手机就会休眠.如果您的警报接收器调用了Context.startService(),则手机可能会在启动所请求的服务之前休眠.为了防止这种情况,您的BroadcastReceiver和服务需要实施单独的唤醒锁定策略,以确保电话继续运行,直到服务可用.
但似乎我需要2个唤醒锁而不是使用处理程序的1个唤醒锁......这是真的吗?
我做了很多测试,这是结果:
-Alarm Manager比使用handler + wakelock节省更多电池以进行长时间操作.
但是您必须对警报启动的活动/服务使用额外的唤醒锁定,因为警报管理器唤醒锁定不会覆盖它.
即使这种方法使用两个WakeLock,电池似乎更高效,寿命更长!在测试期间(2天),AlarmManager使用比其他方法少6倍的电池.在我自己的情况下......
希望这可以帮助一个人!
| 归档时间: |
|
| 查看次数: |
3068 次 |
| 最近记录: |