【问题标题】:Stopping the ARM Cortex A8 CPU on Android device在 Android 设备上停止 ARM Cortex A8 CPU
【发布时间】:2011-10-24 18:43:39
【问题描述】:

为了提高电池性能,我们希望在设备不使用时让 CPU 时钟停止/暂停一小段时间。有没有人对本文主题中提到的配置执行此操作:ARM Cortex A8 CPU (a Archos 70 Internet Tablet running Android)?

关于从哪里开始的任何指示?

谢谢。

【问题讨论】:

  • Android 会在设备不使用时自动停止 CPU。
  • 目前尚不清楚您是尝试对整个设备执行此操作,还是专门在设备上运行的应用程序中执行此操作。尝试在设备范围内自行检测​​并控制 CPU 更麻烦,因为操作系统已经这样做了。

标签: android arm cpu


【解决方案1】:

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

正如其他人所说,这不是应用程序程序员应该担心的事情。作为一个应用程序程序员,你真正应该做的就是暂停你的线程,直到它有事情要做。这通常使用selectepoll 或等待条件变量来完成。不过一般要避免睡觉。

【讨论】:

    【解决方案2】:

    这不是应用程序的工作。

    当它应该使用Thread.sleep()“休眠”时,它只需要确保它不会做任何操作系统认为是“工作”的事情(比如循环旋转),并让操作系统处理管理CPU 用于电源管理。

    【讨论】:

      【解决方案3】:

      就像 CommonsWare 指出的那样,确实没有必要这样做。 Android 会处理所有 CPU 操作,如果无事可做,会降低 CPU 的速度。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-08
        • 2011-05-05
        • 1970-01-01
        • 2011-05-11
        相关资源
        最近更新 更多