ACTION_BATTERY_CHANGEDs 在真实设备中发送的频率如何?
How frequently are ACTION_BATTERY_CHANGEDs sent, in real devices?
在模拟器中,如果我将 power capacity
设置为不同于当前值的值,我的 BroadcastReceiver
的 onReceive
将使用新值调用。 (我已经注册 ACTION_BATTERY_CHANGED
。)
在真实设备中,其电池在几天内从 100% 放电到 20%,是否会调用我的 onReceive
方法:
- 正好80次,
- 超过80次或
- 少于80次?
回复:可能重复的问题 - 我也担心处理程序没有被足够频繁地调用。我也没有犯从另一个广播接收器中注册广播接收器的错误。
似乎最常见的行为是恰好发送 80 条消息,但有些设备会发送更多或更少的消息。这在实际设备之间差异很大,因此必须针对您将使用的特定设备进行基准测试,或者在一般情况下进行处理。
对于我使用过的大多数设备,在这种情况下 ACTION_BATTERY_CHANGED
将被发送 80 次。 (插入和拔出设备时也会发送意图。)
但对于少数机型,每次电池温度变化时都会发送消息。这可能会非常频繁地发生,具体取决于平板电脑正在进行的处理量。我是靠记忆工作的,但我相信 Verizon Ellipsis 7 平板电脑的行为是这样的。
此外,某些设备显然在电池电量每变化 1% 时发送的消息少于一次。 Here is an example of more frequent messages, and here 是消息较少的示例。
Android 不保证,例如。在电池放电从 100% 到 80% 之间,系统不保证它会在电池每放电 1% 时发送 20 个事件。许多参数都被考虑在内。你可以找到简单的解释 here
如果您想跟踪电池放电情况,请及时进行池化。来自系统的事件数量可能因设备而异。
在模拟器中,如果我将 power capacity
设置为不同于当前值的值,我的 BroadcastReceiver
的 onReceive
将使用新值调用。 (我已经注册 ACTION_BATTERY_CHANGED
。)
在真实设备中,其电池在几天内从 100% 放电到 20%,是否会调用我的 onReceive
方法:
- 正好80次,
- 超过80次或
- 少于80次?
回复:可能重复的问题 - 我也担心处理程序没有被足够频繁地调用。我也没有犯从另一个广播接收器中注册广播接收器的错误。
似乎最常见的行为是恰好发送 80 条消息,但有些设备会发送更多或更少的消息。这在实际设备之间差异很大,因此必须针对您将使用的特定设备进行基准测试,或者在一般情况下进行处理。
对于我使用过的大多数设备,在这种情况下 ACTION_BATTERY_CHANGED
将被发送 80 次。 (插入和拔出设备时也会发送意图。)
但对于少数机型,每次电池温度变化时都会发送消息。这可能会非常频繁地发生,具体取决于平板电脑正在进行的处理量。我是靠记忆工作的,但我相信 Verizon Ellipsis 7 平板电脑的行为是这样的。
此外,某些设备显然在电池电量每变化 1% 时发送的消息少于一次。 Here is an example of more frequent messages, and here 是消息较少的示例。
Android 不保证,例如。在电池放电从 100% 到 80% 之间,系统不保证它会在电池每放电 1% 时发送 20 个事件。许多参数都被考虑在内。你可以找到简单的解释 here
如果您想跟踪电池放电情况,请及时进行池化。来自系统的事件数量可能因设备而异。