Android app的理想cpu百分比

时间:2014-10-22 08:08:40

标签: java android cpu

我使用adb shell来获取我的Android应用程序使用的cpu。

我记录了这些值但我在某些情况下看到了cpu使用情况 - 对于我的应用程序--25%。

我的问题是:这个值是-25%来自cpu-非常高还是什么?和Android应用程序的理想cpu%?

提前致谢

1 个答案:

答案 0 :(得分:3)

要记住的第一件事是,当应用程序运行时,它实际上并没有在它运行的整个时间内进行计算:大部分时间它处于空闲状态,等待数据到通过网络到达,或者当您在屏幕上查看它时。只有编写得非常糟糕的应用程序和游戏才会使CPU在其运行的整个过程中保持活动状态:这样可以非常快速地将电池耗尽,并使您的手机变得温暖。

因此,即使Chrome已在屏幕上显示30分钟,也不应该使用30分钟的CPU时间。如果它在那段时间内完全静止,并且您没有与它进行交互,则可能根本没有使用任何CPU时间!但在另一个极端,即使它不断滚动页面,它也不会使用30分钟的CPU时间:屏幕每1/60秒更新一次,每次只需要运行足够长的时间找出下一帧应该是什么。

CPU前景

考虑到这一点,CPU前景是应用程序在应用程序的活动位于前台时在CPU上运行的时间。 (它可能还包括来自应用程序的服务在前台时:即显示正在进行的"通知。)它本身并不是一个非常有用的数字。

CPU总数

我确定您已经知道应用可以在后台运行服务和广播接收器,以及前台的活动。 (有关详细信息,请参阅服务和广播接收器之间的区别?)CPU总数包括所有这些CPU使用情况。如果它远远超过CPU的前景,你可能会怀疑应用程序在后台做了大量的工作,因此可能是电池耗费的。多少"很多"取决于应用程序。一个继续运行以检查某些远程服务的应用程序将在后台使用比数独游戏更多的CPU。

保持清醒

当手机屏幕关闭时,它会开始考虑快速打盹。它进入称为睡眠的低功耗模式,其中CPU几乎完全断电直到需要。因为这可以打断应用程序'在后台活动中,应用程序可以使用唤醒锁定来停止设备进入睡眠状态,直到它完成为止。 (另外还有另一种唤醒锁定,可以自动停止屏幕关闭。视频播放器可能会使用这种唤醒锁定。)应用程序还可以使用警报唤醒设备以执行某些后台任务

保持清醒状态衡量此应用使用唤醒锁定或警报的时间长度,以便在设备处于睡眠状态时保持设备处于唤醒状态。在某种程度上,这可能是最大的电池消耗。睡眠使用的功率远低于保持清醒的功能,因此如果应用程序长时间保持唤醒锁定,它会让您的设备始终处于高功率模式,即使应用程序没有做到这一点任何有用的工作。

如果你有一段时间的CPU使用率,然后它释放使用它在一定程度上相当不错。如果没有,您可以从上面的描述中找出高CPU使用率的情况。