首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android电池省电

Android电池省电
EN

Stack Overflow用户
提问于 2011-11-24 08:41:42
回答 2查看 1.4K关注 0票数 1

我有一个应用程序,它有一个服务和一个主要活动。该服务运行一个倒计时器,并向接收事件的活动发送一个均匀值,以绘制/刷新屏幕中的计数下定时器。非常简单。现在我正在调查电池的使用量,这是非常高的。

我将把计时器to从200 of减少到800 of,并将可运行的服务线程从500减少到800。那一定能省电吧。

但有几个问题:

  1. 我的主要问题是:当屏幕是锁(我有部分唤醒锁),android是否继续更新屏幕?如果是这样,我可以尝试在关闭屏幕时不发送刷新信息(如何检测屏幕被锁定)。你觉得这个有用吗?
  2. 你知道编程或应用程序设计以节省电池的最佳实践吗?我一直在寻找关于它的网站,但没有发现任何有趣的东西。
  3. 有数据库打开废电池吗?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2011-11-24 08:53:28

1:您可以使用Alarmmanager来完成更新。(看这里:android应用程序

注意:如果设备在进行更新时处于休眠状态(如updatePeriodMillis所定义),则该设备将唤醒以执行更新。如果你每小时不更新一次以上,这可能不会对电池寿命造成重大问题。但是,如果需要更频繁地更新和/或在设备休眠时不需要更新,则可以根据不会唤醒设备的警报执行更新。要做到这一点,请使用AppWidgetProvider来设置警报,以便您的AlarmManager接收到。将警报类型设置为ELAPSED_REALTIME或RTC,这将只在设备清醒时传递警报。然后将updatePeriodMillis设置为零("0")。

这应该可以用于小部件和“正常”活动。

他说:我不知道一份正式文件。但你应该问自己以下问题:是否有必要经常更新?如果事件发生在5个小时之外,您需要每秒钟还是每分钟更新GUI?您可以级联更新:事件越接近,更新就越频繁。

他说:我想没有。

票数 1
EN

Stack Overflow用户

发布于 2011-11-24 08:58:20

  1. (取决于您的代码)您的服务contunues将运行并发送更新事件,消耗CPU周期和耗尽能力。无论您尝试更新什么活动,它都已在屏幕锁定后暂停。有标准的广播屏幕关闭/屏幕上-只是接收他们在你的服务和停止工作。或者,当要更新的活动收到onPause()回调时,停止服务,并在onResume()中重新启动它(如果没有焦点,则没有刷新活动的意义)
  2. 见1和摸索android教程。基本理念:不要做无用的事情。
  3. 事实并非如此。除非你是在询问。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8254183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档