2011-02-24 99 views
3

我想知道是否有任何圖書館計算iPhone,iPad,Android手機等移動設備上的剩餘電池時間?或者,如果有做取決於樣特性電池使用任何合理假設的希望:電池時間計算

  • 屏幕亮度
  • 無線電設備使用(網絡,WIFI/3G/4G /藍牙)
  • 用戶交互水平
  • CPU利用率

我想,這可能是可能找出這些屬性如何影響電池壽命,並以這種方式能夠開發一些類庫,能夠提醒用戶如果您知道用戶需要多長時間才能使用該設備,則可能會導致電池電量不足。 那麼你可以:

  • 詢問用戶以降低屏幕亮度
  • 要求用戶關閉WiFi/3G(或開關)
  • 自動降低任何網絡操作的更新輪詢頻率

我對物理和電子學知識有限,但在我看來應該可以做到這一點?我GOOGLE了,沒有發現這樣的事情。

+0

不是圖書館,但對於iPhone來說,有大量的應用程序會告訴你多少通話時間等你離開了,也許你可以聯繫這些應用程序的開發人員。 – Robin 2011-02-24 20:15:25

+0

我喜歡那樣,希望他們能幫助我。甚至可能聯合開發一些跨平臺的平臺。 – 2011-02-24 20:24:46

+0

您可以從設置>關於>電池>電池使用中找到一些統計數據。顯示顯示,系統,電臺...不知道是否有直接訪問統計數據的方法。 – stealthcopter 2011-02-24 21:13:22

回答

4

這個功能很難發展,因爲它取決於很多因素。您最好爲每個特定平臺實施本機電池通知。某些平臺可提供有關功耗和剩餘電池壽命的完整信息。這將(可能)導致更好的估計併爲您節省大量工作:)

iPhone的示例;

UIDevice *device = [UIDevice currentDevice]; 
device.batteryMonitoringEnabled = YES; 
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(batteryChanged:) name:@」UIDeviceBatteryLevelDidChangeNotification」 object:device]; 
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(batteryChanged:) name:@」UIDeviceBatteryStateDidChangeNotification」 object:device]; 

每5%的電池降低觸發UIDeviceBatteryLevelDidChangeNotification。如果您知道設備使用5%的電池電量需要多長時間,您可以估算剩餘電池充電需要多長時間。根據我的經驗,這種方法的結果非常可靠。

在這種情況下:當您的應用程序檢測到電池快速放電時,您檢查啓用了哪些耗電功能,並建議用戶禁用啓用的功能(WiFi,高亮度等)。

此外,不斷檢查許多系統變量的應用程序確實消耗了相當大的功率。這使您的應用程序在節能方面「無利可圖」。