Android 具有相同传感器的多个碎片

Android 具有相同传感器的多个碎片,android,android-fragments,android-sensors,Android,Android Fragments,Android Sensors,我正在编写一个“仪表板”应用程序,其中包括几个基于气压传感器的仪器(适用于有此功能的手机)和使用此位置的仪器。这些工具以片段的形式实现 问题是,管理主机活动中的传感器接口,将主机活动注册为传感器事件侦听器,并使用传感器事件调用片段方法,还是通过每个片段分别连接SystemService和注册侦听器等是最佳做法 我主要关心的是电池消耗和访问同一资源时可能出现的碎片相互阻塞的“冲突” 问题是,管理主机活动中的传感器接口,将主机活动注册为传感器事件侦听器,并使用传感器事件调用片段方法,还是通过每个片段

我正在编写一个“仪表板”应用程序,其中包括几个基于气压传感器的仪器(适用于有此功能的手机)和使用此位置的仪器。这些工具以片段的形式实现

问题是,管理主机活动中的传感器接口,将主机活动注册为传感器事件侦听器,并使用传感器事件调用片段方法,还是通过每个片段分别连接SystemService和注册侦听器等是最佳做法

我主要关心的是电池消耗和访问同一资源时可能出现的碎片相互阻塞的“冲突”

问题是,管理主机活动中的传感器接口,将主机活动注册为传感器事件侦听器,并使用传感器事件调用片段方法,还是通过每个片段分别连接SystemService和注册侦听器等是最佳做法

对于超出单个片段边界的事物,让活动处理它当然是合理的

我主要关心的是电池消耗

这不应该是一个问题——它不像多个传感器会通电,因为有两个传感器对气压计感兴趣。见鬼,据你所知,还有其他应用程序也在使用气压计

以及在访问同一资源时可能出现的碎片相互阻塞的“冲突”


这也不会是一个问题,比任何其他主应用程序线程争用都没有问题。

感谢您的输入!所以这似乎更像是编码风格的问题?关于电池消耗,我假设使用两个片段(例如gps)可以强制两倍的“位置请求”,从而提高gps的准时性?@Paamand:用Android术语来说,gps不是一个“传感器”——这个术语是为加速计之类的东西保留的。这就是说,要么GPS收音机通电,要么不通电,这就是电池消耗的来源。同时运行的两个片段不会改变这一点。当您注册以侦听位置更新时,您可以请求较长的时间段,LocationManager可以使用该时间段来决定基于的睡眠。因此从理论上讲,如果GPS的第二个用户指定的数量较小,则可以使硬件更频繁地通电。我没有看过很多Android版本中的代码,但过去的情况是,请求更频繁更新的侦听器实际上得到的更新周期与请求的最频繁更新周期相同。因此,管理器足够聪明,可以使用给定的所有更新周期中最频繁的一个。