在Android设备上停止ARM Cortex A8 CPU

时间:2011-10-24 18:43:40

标签: android arm cpu

为了提高电池性能,我们希望在不使用设备时使CPU时钟停止/暂停一小段时间。有没有人对这篇文章主题中提到的配置有任何经验:ARM Cortex A8 CPU(运行Android的Archos 70 Internet Tablet)?

有关从哪里开始的指示?

感谢。

3 个答案:

答案 0 :(得分:2)

这不是应用程序的工作。

当它应该使用Thread.sleep()“睡觉”时,它必须确保它不会执行操作系统认为“工作”(如在循环中旋转)的任何操作,并让操作系统处理管理CPU以实现电源管理。

答案 1 :(得分:2)

ARM具有WFEWFI指令,这些指令会导致CPU关闭,直到事件(SEV)或中断唤醒处理器。 WTE通常由自旋锁使用,以防止不必要的CPU使用,而内核空闲线程将使用WFI

正如其他人所说,这不是应用程序员应该担心的东西。作为一名应用程序员,你真正应该做的就是暂停你的线程,直到有东西要做。这通常使用selectepoll或等待conditional_variables来完成。一般避免睡觉。

答案 2 :(得分:1)

就像CommonsWare指出的那样,真的没有必要。 Android负责所有CPU操作,如果无事可做,将减慢CPU速度。