gpt4 book ai didi

Android 内存/电池使用情况

转载 作者:搜寻专家 更新时间:2023-11-01 08:13:51 26 4
gpt4 key购买 nike

由于我无法在每天 0:00 运行服务,因此我决定每 50 秒运行一次(通过 AlarmManager)。我读到每 1 秒运行一次服务会耗尽电池电量。我用 1 秒刷新率和 50 秒刷新率测试了我的程序。为此,我使用了各种应用程序来测量内存使用情况和 cpu 使用情况。以下是结果:

内存使用:

  • Android 助推器

    1 秒:5.1 - 7.5 MB

    50 秒:5.5-7.2MB

  • 内存使用/内存管理器

    1 秒:24.5MB

    50 秒:23MB

  • 使用时间表

    1 秒:24MB

    50 秒:22.7 MB

  • 看门狗任务管理器

    1 秒:14.6MB

    50 秒:12-14MB

  • Android 助手:

    1 秒:4MB

    50 秒:7MB

CPU 使用率:

  • 使用时间表

    1 秒:2%

    50 秒:0%

  • 看门狗任务管理器

    1 秒:1.3%-1.9%

    50 秒:0.1%

  • Android 助手:

    1 秒:2%-3%

    50 秒:0.4%-2%

总而言之,我们可以说内存使用没有变化,但 cpu 使用发生了惊人的变化。由于所有使用的应用程序都显示不同的数据,我无法确定我的应用程序使用了多少内存/cpu,但这个小调查告诉我,每 1 秒运行一次服务对于 cpu 来说真的很痛苦。或者不是吗?您对此有何看法?

最佳答案

基本规则是,你做的越少,对电池的影响就越小。换句话说,您所做的一切都会减少电池电量。如果您每分钟更新一次,将其更改为每 2 分钟一次通常会使电池电量消耗减半。

但除此之外,没有一个数字可以给出“正确”的数量。你想跑得越少越好,做的工作越少越好。

看看您所做的数字是件好事,它可以让您了解自己的影响力。然而,它们也不是全部——例如,在一些常见的 CPU 上,仅仅持有部分唤醒锁会导调用池耗尽。

看待这个问题的一个好方法是,我们希望设备上的电池至少可以使用 N 天,其中 N 至少为一,而且我们真的希望它大于一。如果设备没有被使用——它的屏幕是关闭的——它仍然在后台做一些耗尽电池的事情:电话 radio 正在运行,可能有些东西正在将新电子邮件等同步到设备上,等等.

如果设备不做这项工作,它将持续数天、数天和数天。你可以自己看看:打开飞行模式,确保没有愚蠢的应用程序仍在后台运行,看看你的电池能用多久。很容易就是一周。

因此,您在后台所做的每一件小事本身都不是问题。在我们想要靠充电运行数天的世界中,它是这项工作的总和。基本设备一次充电可以运行的时间越长,您的每项小工作都会减少电池生命周期,因为您有更多时间运行和耗尽电池电量。

最终,安排一些工作每分钟或更长时间进行减少用户的电池生命周期。这有多少取决于很多因素:硬件的功率行为、用户通常可以在充电后运行多长时间、每次运行多长时间、您正在做的工作种类。

我肯定会推荐的一件事就是在您自己的设备上亲自测试这个应用程序。从一个基线开始:让你的设备闲置不用,看看它能用多久。确保没有其他可能影响其生命周期的第三方应用程序(从 Android 3.1 开始,您可以强制停止所有这些应用程序以确保它们不会运行)。考虑关闭电子邮件同步等功能,以消除图片中的噪音。

现在让您的应用以您认为应该的速度运行,看看它会减少多少电池生命周期。会有一些,只是多少的问题。

此外,当您执行这些操作时,您希望关注在合理运行的系统上您可以使用电池的最长时间,以及您的应用对此有何影响。用户的电池持续时间越长,您的应用对其影响就越大,因此这些用户更有可能不满意并在 Market 上给出差评。

关于Android 内存/电池使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6877640/

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