2

バッテリー寿命を計算するためのAppleの技術統計以外の参照があるかどうか疑問に思います。私はいくつかの既存のバッテリーアプリ(バッテリーの残り%* Appleの数字)を比較しようとしましたが、同じ答えが出ないことがあります。また、(3Gではなく)2Gセルを使用するための統計があり、2Gのバッテリー寿命についてはAppleには何も表示されません。

もちろん、一部のアプリは「最も正確」であると主張しています...しかし、誰かが非常に正確な統計情報のソースを持っていない限り、それが起こっているとは思いません。

4

1 に答える 1

18

この API を使用すると、バッテリー レベルの変化に関する通知を受け取るように登録できます。5% の増加または減少での変化のみを報告しますが、タイマーを使用して、2 つの変化 (または最初のバッテリー レベルと最初の変化) の間の時間を測定できます。通知を登録する方法は次のとおりです。

// Use this call to get the current battery level as a float
// [[UIDevice currentDevice] batteryLevel]

[[UIDevice currentDevice] setBatteryMonitoringEnabled:YES];

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(batteryStateDidChange:)
                                             name:UIDeviceBatteryStateDidChangeNotification
                                           object:nil];

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(batteryLevelDidChange:)
                                             name:UIDeviceBatteryLevelDidChangeNotification
                                           object:nil];

最初の通知では、現在の状態 (プラグが抜かれている、充電中、満杯など) が示されます。2 番目は、5% の増分に達するたびにトリガーされます。

与えられた変更通知が 5% の変更の増減だけである場合、精度は非常に適切に、または迅速に計算できるものではないように思えます。デバイスが何もしていない場合、5% の変更には非常に長い時間がかかる可能性があります。

[[UIDevice currentDevice] batteryLevel] をタイマーで監視できるかもしれませんが、私は試していませんが、これと同じ 5% の増分でしか更新されないと思います。

于 2009-09-24T07:07:21.983 に答える