1

我编写了一个简单的应用程序,它在屏幕上显示一些文本和一些图形。我使用的是 Nexus 7,这是用于安装的,因此需要每天连续运行 12 小时。然而,尽管插入并充电,我的应用程序在大约 8 小时(10-15% / 小时)内将电池完全耗尽。

除了不经常更改的文本和图形之外,我的应用程序还做了两件事:

它使屏幕保持全亮状态(通过WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);和

它打开了两个DatagramSockets,一个充当 UDP 客户端,一个充当 UDP 服务器。这些套接字都是由我正在使用的库OSCP5自动打开和管理的。它是开源的,所以我可以根据需要破解它,尽管越少越好。(亲吻。)

我测试了 Nexus 7 的电池续航时间,没有运行任何应用程序,屏幕全亮,每 29 分钟发痒一次以防止它进入睡眠状态,几个小时完全没有电池消耗。所以,迹象似乎指向插座。我在这些套接字上没有频繁的通信,它们每分钟接收大约几 KB(基于用户与安装的另一部分的交互)。

有什么我可以做的,特别是插座,或任何其他一般测试,以尽量减少或消除电池消耗?我只需要打完 12 个小时,但在插上电源的同时保持充满电似乎并不是一个艰巨的任务......

4

3 回答 3

1

然而,尽管插入并充电,我的应用程序在大约 8 小时(10-15% / 小时)内将电池完全耗尽。

Nexus 7 插入了什么?我认为它可以利用高速充电 USB 端口,大多数平板电脑(Android + iPad)都需要这种端口。如果您将其插入普通 USB 端口,我可以看到您的结果更有可能。

所以,迹象似乎指向插座。

他们肯定是候选人,但由于 WiFi 收音机可能会在设备充电时说打开,我会有点惊讶。对我来说,这感觉像是一个 CPU 问题,您正在忙于等待或其他事情而不是阻塞。

我能做些什么,特别是对插座或任何其他一般测试,以尽量减少或消除电池消耗?

我会看看 Traceview 是否指出你在哪里消耗了大量的 CPU 时间。我会调查充电端口问题。我会修改您的应用程序以模拟套接字工作并尝试查看您的问题是否仍然存在 - 如果确实存在,那么问题不在于套接字。

于 2013-05-13T23:28:37.320 回答
1

好吧,保持屏幕全亮确实会降低电量。GPS也会这样做;我认为这是两个最大的功耗。

保持网络无线电繁忙并保持 cpu 繁忙也会降低功率。我希望您没有忙于等待您的任何软件。

除此之外,我只能建议您使用平板电脑可能附带的大功率充电器。USB 数据端口的电流限制为 500mA,而且我使用过不止一种设备,这些设备可能需要更多的设备才能保持电池电量。

于 2013-05-14T00:08:21.997 回答
1

三个月和无休止的头桌敲打之后,原来罪魁祸首是我的 USB 运行。总长度约为 20'-25',并且该长度正在衰减一直通过线路的功率。解决方案:有源 USB 集线器

因此,答案最终与 Android 或编程无关。对不起,所以。

于 2013-07-22T20:38:24.323 回答