0

我刚刚浏览了powertutor源代码,发现了许多与WiFi、CPU和LCD组件相关的常量。我可以理解流程但不了解这些常量。我很想知道这一点。这些常数是从哪里得出的?标准值是多少?等等。请指向我可以获得这些信息的链接。请回复。

更新:

以下方法在 dreamConstants 文件中。他们从哪里得到这些常数?他们从哪个文件中读取它?

public double wifiHighPower() {
    return 720;
  }

  public double wifiLowHighTransition() {
    return 15;
  }

  public double wifiHighLowTransition() {
    return 8;
  }

  private static final double[] arrayWifiLinkRatios = {
    47.122645, 46.354821, 43.667437, 43.283525, 40.980053, 39.44422, 38.676581,
    34.069637, 29.462693, 20.248805, 11.034917, 6.427122
  };

  private static final double[] arrayWifiLinkSpeeds = {
    1, 2, 5.5, 6, 9, 11, 12, 18, 24, 36, 48, 54
  };
4

2 回答 2

0

如果您引用从 Proc/文件系统中引出信息的常量,它们通常是特定于设备的。因此,您必须以艰难的方式去做。打开文件浏览器,在文件系统中搜索常量并将它们添加到应用程序中。

据我所知,这正是 PowerTutor 的开发人员所做的。其中一些约束是“常识”,但你不能依赖它。总是有另一个设备...

于 2012-08-27T15:31:35.753 回答
0

那些常数;例如 wifiHighPower 函数中的 720 (mw) 是在 HTC G1 上测量的估计功耗。实际上,PowerTutor 最初只为 HTC G1 构建了一个电源模型,它会导致其他手机的错误率很高。因此,如果您想为您的手机应用 powertutor,您需要使用 PowerTutor 论文中描述的电源建模技术为您的手机构建一个新的电源模型。因此,您将获得适合您手机的常量。

于 2013-07-20T02:11:46.560 回答