iphone - 电池时间计算

标签 iphone android ipad blackberry mobile

我想知道是否有任何库可以计算 iPhone、iPad、Android 手机等移动设备的剩余电池时间?或者,如果有希望根据以下属性对电池使用情况做出任何合理的假设:

  • 屏幕亮度
  • radio 使用(网络、WIFI/3G/4G/蓝牙)
  • 用户交互级别
  • CPU 利用率

我认为有可能找出这些属性如何影响电池生命周期,并以这种方式开发某种库,以便能够在您知道电池电量不足时警告用户电池电量不足的时间。用户将需要使用该设备。 然后你可以:

  • 要求用户调低屏幕亮度
  • 要求用户关闭WIFI/3G(或开关)
  • 自动降低任何网络操作的更新轮询频率

我对物理学和电子学的了解有限,但在我看来应该可以做到这一点?我用谷歌搜索并没有找到这样的东西。

最佳答案

这个功能真的很难开发,因为它取决于很多因素。您最好为每个特定平台实现 native 电池通知。一些平台提供关于功耗和剩余电池生命周期的非常全面的信息。这将(可能)导致更好的估计并为您节省大量工作:)

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、高亮度等)。

此外,不断检查许多系统变量的应用程序确实会消耗相当多的电量。这会使您的应用在节能方面“无利可图”。

关于iphone - 电池时间计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5109505/

相关文章:

iphone - OGL_ES 2.0 : Using multiple texture units vs rebinding textures for separate shaders

iphone - performSelector之后需要调用NSAutoReleasePool :withObject:afterDelay?

javascript - Arduino(Sigfox)如何向手机应用发送信息

iphone - 如何清除 iPhone 上 UIWebview 中的后退列表?

objective-c - iPad : How to know Return key of iPad keyboard is pressed ? 请检查图像

iphone - iPhone 实时音频循环切换

iPhone - 关于调度计时器和计时的问题

android - 删除 cordova 插件时出错

android - AlarmManager 不启动服务

ios - iPad pro 启动图像的大小是 2x?