0

我正在研究电源优化。

是否可以powerHintPowerManagerService应用程序调用?

我怎么称呼它?有没有办法通过下面的下午调用该方法?

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
4

2 回答 2

0

它不是 SDK 的一部分。因此,apk 无法调用它。它是自动管理的。如果你想管理它,修改你的目标......

powerHint 用于破坏用户交互性或正在进行的图形活动(UI / UX 动画)的性能

除了您应该查看 powerHAL 的示例实现之外,没有什么可说的了,以了解人们如何为特定硬件实现它并为您的硬件模仿它们。准备好后,您只需添加“力量”。到您设备的 AndroidProducts.mk(或 AndroidProducts 包含的 mk 文件)中的 PRODUCT_PACKAGES 列表,并且您有一个 Power HAL。

来自http://thegnar.org/sync/?p=275

于 2016-02-17T10:15:24.303 回答
0

IPowerManager.powerHint()方法只是 PowerHAL 的包装powerHint()函数nativePowerHint()

static void nativeSendPowerHint(JNIEnv *env, jclass clazz, jint hintId, jint data)
{
    int data_param = data;

    if (gPowerModule && gPowerModule->powerHint) {
        if(data)
            gPowerModule->powerHint(gPowerModule, (power_hint_t)hintId, &data_param);
        else {
            gPowerModule->powerHint(gPowerModule, (power_hint_t)hintId, NULL);
        }
    }
}

如果你想让 HAL 做某事,你应该实现你自己的与 hintId 相关的动作,比如 POWER_HINT_INTERACTION、POWER_HINT_LOW_POWER 等等。

我认为直接调用 powerHint() 是 SDK 实现区域的一部分。参考这些谈话。

于 2015-08-11T05:27:56.807 回答