【发布时间】:2013-05-13 23:09:28
【问题描述】:
我编写了一个简单的应用程序,它在屏幕上显示一些文本和一些图形。我使用的是 Nexus 7,这是用于安装的,因此需要每天连续运行 12 小时。然而,尽管插上电源并充电,我的应用程序在大约 8 小时(10-15% / 小时)内将电池完全耗尽。
除了不经常更改的文本和图形之外,我的应用程序还做了两件事:
它使屏幕保持全亮状态(通过WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);和
它打开两个DatagramSockets,一个充当UDP客户端,一个充当UDP服务器。这些套接字都由我正在使用的库OSCP5 自动打开和管理。它是开源的,所以我可以根据需要破解它,尽管越少越好。 (KISS.)
我测试了 Nexus 7 的电池续航时间,没有运行任何应用程序,屏幕处于全亮度状态,每 29 分钟拨动一下以防止它进入睡眠状态,持续几个小时,完全没有电池消耗。所以,迹象似乎指向插座。我在这些套接字上没有频繁的通信,它们每分钟接收大约几 KB(基于用户与安装的另一部分的交互)。
我能做些什么,特别是对插座或任何其他常规测试,以尽量减少或消除电池消耗?我只需要打完 12 个小时,但在插上电源的同时保持充满电似乎不是什么艰巨的任务……
【问题讨论】:
标签: android sockets battery screen-brightness