2011-09-26 65 views
1

我的问题是指报警管理与局部唤醒锁使用。AlarmManager电池和CPU使用率

并取消重复的任务和重置它的成本更多的CPU /内存/电池不是分配给报警经理的任务是什么?如果在过去30秒内没有其他消息发送,则任务是向服务器发送消息。

所以,如果我的应用程序只是发送一条消息,是它更好地复位报警管理,或离开它,因为它是什么?

问题2:

使用报警经理alow我发送消息,即使设备睡着了。

我的应用程序设计,尝试重新连接到服务器断开的情况下,如果尝试3次才能关机后没有成功。

我怎样才能使这项工作时,设备是睡着了吗?

回答

1

取消重复任务并重置它比仅运行if语句花费更多的CPU /内存/电池?

什么 “if语句”?

为了澄清,我的重复任务是发送一条消息到我的服务器,如果在最后30秒内没有消息发送。

这似乎不是对用户电池的谨慎使用。请允许他们配置期间,包括不发送此类消息的选项。或者,更好的做法是让服务器自行跟踪,并完全消除“无消息发送消息”消息。

所以如果我的服务发送消息到服务器,重置报警管理器,还是保持原样?

由于您的代码已在运行(它只是向服务器发送消息),因此取消并重新安排警报应该便宜。

+0

我必须发送一条消息到服务器,那是什么保持连接活着。我编辑我的问题,并添加另一个相关的方式。 – piojo

+0

@piojo:“我必须发送消息到服务器,这是什么保持连接活着” - 始终保持“连接活着”服务器对电池不利。事实上,鉴于您的编辑描述,您的应用程序看起来相当可怕,因为您似乎打算让您的应用程序每天24小时运行一次“WakeLock”,这将使用户只需几个小时的电池使用时间。我认为您需要认真重新考虑重新构建此应用程序以将现实考虑在内。 – CommonsWare

+0

至于现在,一小时,当设备睡眠时,花费1% – piojo