gpt4 book ai didi

android - 为什么我的 Android 应用程序会耗尽电池电量?

转载 作者:行者123 更新时间:2023-11-29 21:43:17 27 4
gpt4 key购买 nike

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

除了不经常变化的文本和图形,我的应用程序还做了两件事:

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

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

我已经测试了 Nexus 7 的电池续航时间,没有应用程序运行,屏幕全亮度,每 29 分钟发出一次挠痒痒以防止它进入休眠状态,几个小时没有电池耗尽。所以,标志似乎指向 socket 。我不经常在这些套接字上进行通信,它们每分钟接收大约几 KB(基于用户与安装的另一部分的交互)。

有什么我可以做的,特别是 socket 或任何其他一般测试,以最大限度地减少或消除电池消耗?我只需要熬过 12 个小时,但在插电的情况下保持充满电似乎不是一个很高的要求...

最佳答案

However, despite being plugged in and charging, my application drains the battery completely in about 8 hours (10-15% / hour).

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

So, signs seem to point to the sockets.

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

Is there anything I can do, specifically with the sockets, or any other general testing, to minimize or eliminate the battery drain?

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

关于android - 为什么我的 Android 应用程序会耗尽电池电量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16532619/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com