最近在做android手机电池管理相关的项目,其中有一个需求是计算手机充电时间的。翻阅了一些资料和一些相关的竞品,发现每个产品的在手机充电时长的计算上多不是很统一,后来翻阅了物理学的一些知识和文章,总算给出了一个相对比较准确的答案,现在把结论共享给大家。

首先先解释几个概念:

1.电流以及电流的单位

电流被定义为电离子的定向移动,我们称之为电流,其单位为毫安或者安培(MA/A), 1安培=1000毫安

2.充入电流

充入电流指,当前利用某种充电方式充入到手机每小时的横向电流。

3.AC充电与USB充电

我们称AC充电为直流充电,也就是通常插着充电器充电,USB充电就是将手机通过USB数据线接入PC端的充电方式。通常我们默认为USB的充入电流为AC的充入电流的二分之一,AC = USB * 2,一般情况下,PC端的USB充入电流为500MA/H,AC的充入电流为1A/H,但是由于硬件的制造商规格略有不同,数据上会存在差异。

4.电池容量

查看电池容量的方式很简单,数据就在电池的背面,一目了然。

ok,有了以上4个结论,我们可以大概计算出一块电池从没有电,到满电的充电时长了。

设,一块电池的容量为X毫安,充入电流为Y毫安/小时,那么就有结论 H = X/Y,举例:一块1500MA容量的电池,用USB充电需要1500/500 = 3小时,用充电器充电需要1500/1000 = 1.5小时。请注意,充电电流系数可能会有所差异,但是差异不会很大,那么也就是是说得出的充电时间也不会差得太多。

那么这个时候有个问题出现了,我们在开发的时候发现,android的API没有给开发人员提供获取电池容量的API,其实这个也不奇怪,因为,你很可能买了个HTC的手机之后又换上了一个山寨的1800MA大电池,也就是说硬件是不提供获取电池容量的芯片的,那么android的sdk也自然无法获得这个数值。那既然上面的公式是不是对开发来说就没有任何价值了呢?

其实,还是有价值的,我换了一个思路来计算,从产品和技术两个角度去解决这个问题。

首先你必须第一时间计算出充电时间后呈现给用户,因为这是用户所期待的核心价值,不可违背。我调查了一下市面上的电池容量,差不多一般都在1200-1800MA,1800MA的电池应该说是大屏幕用的电池了,所以我取了一个平均值1500MA,当用户首次使用电池管理软件的时候,我统一使用1500MA作为计算标准,计算出充电时间,由于电池容量很可能会不符合当前手机的电池容量,所以时间上会或多或少有所偏差,但是这个没关系,我首先解决的问题是解决用户的期待感!接着,充电开始了,我会记录充电1%电量所花去的时间,然后就可以计算出来充电100%所花去的时间,根据充入电流系数X,就可以大概的得到这块电池的容量了!之后保存这快电池容量的数值,当用户下次充电的时候就可以直接获取这个数值进行时间的计算了。

结论与公式:

1.锂电池充电时间计算公式:x(电池容量) y(充入电流系数) h(充电时间)

h = x/y

2.android开发中获取电池充电时间的基本思路:

a.获取充1%电量所花费的时间h(电量百分比这个可以通过api获得),计算出冲100%所花费的时间H, H 约等于 h * 100

b.如果是USB充电,那么电池容量约等于 500 * H,如果是AC充电,那么电池容量约等于 1000 * H ,注意单位都为毫安,我们将这个结论定义为A

c.那么下次再充电的时候,我们可以通过b的结论应用公式1,就有结论:

ACTime(小时) = A/1000

USBTime(小时) = A/500

PS:1000和500单位都为毫安,这两个数值是物理学上给出的粗略系数,但是对于电池管理来说具备一定的参考价值,谢谢!

android 电池运行时间计算,android 电池充电时间计算方法相关推荐

  1. 充电速度公式_充电电池充电时间计算方法

    一般电池容量大小都在电池上注明,以毫安为单位,数值越大容量越大. 例如: 1200mAh 就是表示电池的容量是 1200 毫安.同时,充电器一般也标有充电电流,同 样以毫安为单位. 这样, 电池充电时 ...

  2. android电池电量更新,android 电池(三):android电池系统

    一.电池系统结构 Android中的电池使用方式主要有三种:AC.USB.Battery 等不同的模式.在应用程序层次,通常包括了电池状态显示的功能.因此从 Android 系统的软件方面(包括驱动程 ...

  3. android电池管理软件,Android实现电池管理系统

    一.Android 电池服务 Android电池服务,用来监听内核上报的电池事件,并将最新的电池数据上报给系统,系统收到新数据后会去更新电池显示状态.剩余电量等信息.如果收到过温报警和低电报警,系统会 ...

  4. android 电池电量广播,Android查看电池电量的方法(基于BroadcastReceiver)

    本文实例讲述了Android查看电池电量的方法.分享给大家供大家参考,具体如下: 程序如下: import android.app.Activity; import android.app.Dialo ...

  5. android电池电量监控,android电量监控 Battery Widget Reborn

    android电量监控 Battery Widget Reborn Pro 你一款管理安卓手机电池的使用软件,其中包括对电池的基本使用信息.使用寿命.电容等方面对电池进行分析管理,提高电池的使用率,安 ...

  6. android 电池高温关机,Android 关机问题分析指南

    本篇文章主要介绍 Android 开发中的 关机 部分知识点,通过阅读本篇文章,您将收获以下 内容: 1 . 确认是亮屏关机还是灭屏关机?关机时是否有播放关机动画? 2 . 是直接关机还是关机后会自动 ...

  7. android电池剩余使用时间,android电池剩余使用时间

    其实并不太想写这边文章.因为算出的数据不是太高准确,但是可能有人有需求,就写上一些求全的办法吧.在此要说上一句,目前并没有能十分准确的算出电池时间(比如说金山和腾讯的电池管家,经过反编等手段,证实用的 ...

  8. android bitmap大小计算,android 之Bitmap 内存大小计算

    QQ截图20180426154121.png 想要知道一个Bitmap 占用多大内存 我们只需要调用getByteCount方法就可以了,但是不可能每次都将图片塞到项目中然后把运行看吧,所以我们必须要 ...

  9. android 电池续航时间,《Android优化专题》——优化电池续航能力

    <Android优化专题>--优化电池续航能力 一.监测设备的电量和充电状态 在用户充电时,程序做任何操作都不会太受到电量影响,此时就适合做一些下载,刷新数据等耗电操作. 1. 判断当前充 ...

最新文章

  1. usaco Palindromic Squares
  2. Docker不香吗?为什么还要用k8s
  3. 我们究竟还要学习哪些Android知识?面试真题解析
  4. Protues 8.6 详细安装步骤
  5. 腾讯数平精准推荐 | 横扫ICDAR 2019,斩获七项冠军
  6. Oracle中如何获取当天时间的最开始的时间和最结尾的时间:
  7. php yaf twig,yaf-example
  8. 传网易、京东6月相继赴港上市:共计筹资50亿美元
  9. Intellij IDEA神器常用技巧六-Debug详解
  10. 四款亲试好用的PDF编辑器推荐,看看哪款最适合你
  11. 服装计算机辅助设计学什么,【计算机应用论文】服装设计的计算机辅助设计应用分析(共3905字)...
  12. 如何用好谷歌等搜索引擎?
  13. 我的世界神奇宝贝服务器注册指令,我的世界神奇宝贝MOD召唤指令汇总攻略
  14. python分钟转换小时_Python程序将秒转换为小时,分钟和秒
  15. java基础学习—— 六
  16. 游戏资讯查询易语言代码
  17. python因子分析 ic值 函数_Python——因子分析(KMO检验和Bartlett's球形检验)
  18. Qumulo体系结构白皮书
  19. 2.2 离散型随机变量
  20. stm32cube+freerots基础案例一:点灯

热门文章

  1. 腾讯云服务器2核4G、4核8G、8核16G、16核32G配置报价表出炉
  2. ipconfig/all详解
  3. PT站点签到脚本,可挂青龙面板自动签到
  4. 微型计算机的性能指标
  5. 关于VSCODE的插件 一
  6. 许键树:华为云视频直播在各细分场景的体验指标优化实践
  7. 一文说清“链上”和“链下”
  8. 集成学习(XGBoost,LightGBM,CatBoost)
  9. GPU百科全书(1)方程与几何
  10. centos7 安装 mysql5.5_CentOs7 安装 Mysql5.7