- 3)、最后,把电量输送给电池,而整个降压的过程中会产生热能。
分类
-
1)、高压低电流快充方案:在充电过程中提升充电电压(7-20V)来提升充电功率。
-
2)、低压大电流快充方案:在电压一定情况下,增加电流,通常使用并联电路的方式进行分流。
-
3)、铝-石墨烯超级电池
-
超高耐用性和安全性,快充充电1.1秒就能充满电。
-
实验阶段。
通常使用充电循环次数衡量。
严格控制电池容量,例如 VOOC 就使用了各种安全检测技术。
-
手机耗电是通过使用相应的硬件模块来消耗电能。
-
CPU、屏幕、WIFI、数据网络、GPS、音视频通话在日常耗电量中占比最大。
KITKAT
批处理传感器
分批有效地收集和传递传感器事件。
Alarm 对齐
批处理在合理的相似时间内的所有应用的闹铃,以便系统仅唤醒一次。
Lollipop
-
开启 Volta 项目
-
Job Scheduler
-
dumpsys batterystats
-
Battery Historian
-
修复 native fork 进程保活的 bug
Marshmallow
-
省电功能
-
Doze 低功耗模式
-
App Standby 应用待机摸手机
Nougat
-
优化省电功能
-
Doze 加强版
-
implicit broadcasts 显示
-
混合编译
Oreo
-
更多优化省电功能
-
后台执行限制
-
后台位置限制
P(电压管理严格限制)
应用待机分组(App Standby Bueckets)
-
从应用安装开始。
-
分组决定后台被限制的程度。
-
不常用的应用将被限制地更加严格。
应用后台限制(Background Restrictions)
-
用户开启。
-
停止后台运行。
-
提示用户后台耗电严重的应用,用户可选择停止它们的后台运行。
省电模式(Battery Saver)
-
用户开启。
-
所有应用进入待机模式。
-
更加严格的后台限制,而且无视应用的 Target API。
=================================================================
对于电量的统计有一个公式,如下所示:
模块电量(mAh) = 模块电流(mA)* 模块耗时(h)
Android 系统要求 ROM 厂商必须在 /frameworks/base/core/res/res/xml/power_profile.xml 提供组件的电源配置文件。而 Android 系统的电量计算 PowerProfile 正是通过读取 power_profile.xml 的数据。
-
1)、直观,但没有详细数据,对解决问题帮助不大。
-
2)、需要找特定场景专项测试,比如在某一个界面操作一段时间,然后来判断这个页面是否耗电。
2、使用广播监听电量变化—ACTION_BATTERY_CHANGED
获取电池电量、充电状态、电池状态等信息。
实战案例
IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_BATTERY_CHANGED);
Intent intent = registerReceiver(null, filter);
LogUtils.i("battery " + intent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1));
缺点
-
1)、价值不大:针对手机整体的耗电量,而非单个 App。
-
2)、实时性差、精度较低,被动通知。
batterystats 是 Android 5.0 提供的工具,它可以获取各个 App 的 WakeLock、CPU 时间占用等信息,同时增加了一个 Estimated power use(mAh)功能,预估耗电量。
作用
将电量测量转化为功能模块的