2012-05-27 47 views
1

我正在使用Apple的默认电池电量指示符,允许开发人员在Xcode上使用它,并将其与状态栏中设备的百分比以及其他应用程序的百分比进行比较。状态栏上的百分比是78%,另一个应用程序说是75%,但我的应用程序说70%!我预计不会和状态栏的百分比一样,但会下降8%?!如何获得更准确的电池比例?

我的问题是: 1)苹果为什么这么做? 2)为什么其他应用程序(AppBox)显示不同的电池电量,然后我的应用程序,我该怎么做?

+1

请包括对您使用的文档的参考,这不是每个人的书签:) –

回答

1

没有指定的文档,我会假设您使用的是UIDevice参考。

  • 为什么不同?

这并不是说广播通知和100%的匹配,它可能是应用程序正在单独接收通知。

  • 如何改进?

这很容易,您需要稍微学习mathematical statistics。例如,您可以收集最近时间间隔的统计数据,跳过边界值(最高,最低),计算平均结果值。有不同的方法,最简单的方法可能对你有效。

+0

您可以举一个应用数学统计或指向可应用算法的示例 – user1286653

+0

@ user1286653也许[加权平均](http:///en.wikipedia.org/wiki/Weighted_average)在这里应该很好。请注意,我没有对通知和'batteryLevel'数据进行任何可靠的研究,我期望它足够精确,可以直接使用。听到这些数据已经由iOs本身或电池控制器处理过,我不会感到惊讶。 –

+0

@ user1286653作为参考,快速浏览一下Android [BatteryStatsImpl](http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/2.2_r1.1/ com/android/internal/os/BatteryStatsImpl.java#BatteryStatsImpl)我发现只有内存中的当前统计信息,他们似乎只使用统计历史记录作为参考。可能是跳跃指标行为的原因之一。 –