【发布时间】:2016-10-12 10:27:58
【问题描述】:
我在我的 Android 应用中使用加速度计和陀螺仪。我想分析我的应用程序的功耗。假设应用程序,每 100 毫秒读取这两个传感器,添加其所有三个轴 (x,y,z),并将它们存储在一个文件中。
现在我不确定这两个传感器是否始终开启?如果是,那么大部分功耗将来自我如何在我的应用程序中使用或处理这些传感器的值。所以我有以下问题。
- 这两个传感器是一直打开还是激活? (如果有,请提供任何参考资料)。
- 那么注册和注销有什么作用呢?如果它们始终开启,
那么注销它们不会有任何区别,至少在 功耗方面。
这些问题的背景或推理: 陀螺仪比加速度计消耗更多功率(根据我的分析,它高 4-6 倍)。现在,如果这些传感器始终处于开启状态,那么我可以在我的应用程序中同时使用它们,因为我的应用程序不是这些传感器的活动状态导致的功耗的原因。由于我使用这些传感器值的方式以及读取它们的频率,我的应用程序将负责功耗。但是,如果这些被禁用或关闭(根本不消耗电力),那么我必须仔细决定是否要使用它们,因为当我注册它们时,由于它们的活动,我也会增加功耗除了处理它们的值之外的状态。
【问题讨论】:
-
问题是
what could you do if this is still consuming power?如果你去掉你的监听器,你会减少消耗(之前有状态)。但是您无权以物理方式阻止这些传感器运行,那么您想做什么?以这种速率接收这些事件的 CPU 成本相当消耗 -
@AxelH 我同意如果我移除我的监听器,由于数据处理的功耗将会减少。但是,当没有应用程序使用这些传感器时,我很好奇这些传感器的状态。如果我想使用两个或一个传感器,它可以帮助我做出设计决定。如果让陀螺仪和加速度计始终打开,那么我想在我的应用程序中同时使用它们。但是,如果不是,那么我可能不会使用陀螺仪,因为它消耗的功率比加速度计要多。
-
现在说得通了! :) 您可以通过杀死所有不需要的应用程序(使用传感器的应用程序)然后比较激活传感器侦听器之前和之后消耗的功率来进行一些测试(但这会很困难,因为可能有操作系统进程使用传感器,所以这可能不是真的结论。看下面的消耗。stackoverflow.com/questions/10293713/…
-
@AxelH 我检查了链接,但在这个问题上没有明确的答案。如果这些传感器通常保持活跃与否,谜团仍然存在。
-
这不是一个答案,而是一种检查自己消耗的方法。
标签: android accelerometer android-sensors gyroscope