Android app的理想cpu百分比

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

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

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

提前致谢

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

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

CPU前景

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

CPU总数

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

保持清醒

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

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

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