2014-10-22 41 views
0

我用adb外壳得到我的android应用程序使用的CPU。理想的CPU百分比为Android应用程序

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

我的问题是:这个值-25%从cpu-非常高或什么?和什么理想的CPU的android应用程序%?

在此先感谢

+0

这取决于有多少服务或其他东西并行运行。您必须测量每个设备个人的空闲CPU使用情况。 – 2014-10-22 08:16:03

+0

这个问题太模糊了,没有更多的信息就不能回答,比如应用程序在做什么。例如,密码管理器不应该消耗25%的CPU,而是60 fps的游戏。 – 2014-10-22 08:30:42

回答

2

首先要记住的事情是,当一个应用程序运行时,它实际上并没有为它的运行的整个时间做计算:大部分的空闲时间,等待数据到达了网络,或者你正在屏幕上看着它。只有编写非常糟糕的应用程序和游戏才会使CPU始终保持运行状态:这会使电池快速运行,并使手机变得温暖。

因此,即使Chrome已经在屏幕上显示了30分钟,也不应该使用30分钟的CPU时间。如果在那个时候它完全是静态的,而你没有与它进行交互,它可能根本没有使用任何CPU时间!但另一个极端的情况是,即使它不断地滚动页面,它也不会使用30分钟的CPU时间:屏幕每1/60秒更新一次,每次只需运行足够长的时间即可工作看看下一帧应该是什么。

CPU前景

牢记这一点,CPU前景是多少时间的应用程序已经在CPU上运行时从应用程序的活动是在前台。 (当应用程序的服务处于前台时(也就是显示“正在进行”的通知),它可能也包括在内)。它本身并不是一个非常有用的数字。

CPU总

我相信你已经知道,应用程序可以在前台活动在后台运行的服务和广播接收机,以及。 (关于这方面的更多信息,请参阅服务和广播接收机之间的区别是什么?)CPU总量包括所有此CPU使用量。如果它远远超过CPU前景,您可能会怀疑该应用程序在后台执行了大量工作,因此可能会成为电池电量。 “很多”取决于应用程序。持续运行以检查某些远程服务的应用程序将在后台使用比独立游戏更多的CPU。

保持清醒

当你的手机屏幕关闭时,它开始考虑有小睡片刻。它进入一种称为睡眠的低功耗模式,其中CPU几乎完全断电,直到需要为止。由于这可以中断应用程序的后台活动,因此应用程序可以使用唤醒锁来停止设备进入休眠状态,直至完成。 (还有另一种唤醒锁,它会自动关闭屏幕,视频播放器可能会使用这种唤醒锁。)应用程序还可以使用闹钟来唤醒设备以执行一些后台任务。

保持唤醒措施测量此应用程序使用唤醒锁或警报的时间长度,以保持设备在睡眠时保持清醒状态。在某种程度上,这可能是电池最大的消耗。睡觉使用比保持清醒更少的功率,所以如果应用程序长时间保持唤醒锁定,那么即使应用程序没有做任何有用的工作,它也会始终保持设备处于高功耗模式。

如果你的CPU使用率延长一段时间,然后它释放使用它的一些延伸相当好。如果没有,您可以从上面的描述中确定哪个是您高CPU占用率的情况。

+0

你的回答是有意义的谢谢你 – 2014-10-22 08:39:17