省电续航
文章平均质量分 77
法迪
Android系统与续航工程师、应用开发工程师
https://github.com/sufadi
332157261@qq.com
展开
-
【老文档】手机夜间场景省电技术
摘要Android智能手机发布于2018年10月随后风靡了全球也改变了手机界的格局,最终形成现在已Android和苹果为主的2大手机阵营。时至今日,不少人提到Android手机还是停留在手机没有苹果好用,无外乎早期Android机器确实存在发热快、续航不足、运行卡顿的槽糕体验并烙印在用户的记忆里。但上述的不足在随后的几年里,经过Google团队、全世界的手机厂商和无数工程师的不断优化下,现在的Android智能手机已经从能用走到好用了,从一个技术的追赶者变成技术的创新者,并朝着更加人工智能的方向发展着。原创 2022-01-14 22:19:59 · 1329 阅读 · 0 评论 -
【老文档】20190331省电功能性文档
1.省电管理-UI界面1.省电模式2.超级省电模式3.应用智能省电4.耗电详情5.省电提醒省电模式主要进行硬件开关的控制和清理一次应用DisplayPowerController->屏幕亮度减半VibratorService->关闭触摸震动和来电震动NetworkPolicyManagerService->限制 Doze 非白名单应用联网(WiFi与数据流量)使用WindowManagerService->关闭动画PowerManagerService-&原创 2022-01-14 21:40:42 · 188 阅读 · 0 评论 -
友商的异常管控对比
原创 2022-01-13 21:59:51 · 190 阅读 · 0 评论 -
【老文档】后台GPS高耗电拦截管控
提案名称* 后台GPS高耗电拦截管控 发明人* xxx 交底书撰写人* xxx 撰写人联系方式* 手机:xxxx 邮箱:xxxx 一.发明背景 * Android系统中提供4种方式给上层应用获取定位信息,分别如下: GPS 定位:GPS定位利用多个卫星至GPS接收器的距离,使用三角定位确定当前...原创 2022-01-12 22:37:41 · 3122 阅读 · 0 评论 -
学习软件绿色联盟应用体验标准5.0_功耗标准-公示版
文档来源:软件绿色联盟软件绿色联盟应用体验标准5.0_功耗标准-公示版.pdf软件绿色联盟官方-下载网址https://www.china-sga.com/index.html自己画的思维导图我记得功耗开发的历史是先看到发热耗电快的现象,直接使用查杀接口杀过去。对,只是治标。后面提出了很多内存优化方案,例如后天查杀,内存水位查杀,类LMK等内存查杀机制将杀的方式达到了极致。后面发现一味的杀对用户影响挺大总不能让用户每次都是来冷启动应用和消息接受不及时吧。后面又推出了场景冻结和快速冻结,有效优化了冷原创 2022-01-10 22:19:43 · 707 阅读 · 0 评论 -
[老文档2016]一种后台管理智能杀进程的规则与方法
一、本专利技术所属的领域本技术属于移动互联网技术,尤其属于手机系统中应用管理的规则与方法。二、相关技术背景为了达到释放内存和省电的作用,市面上的后台管理软件中查杀应用的规则主要是根据以下规则进行查杀:应用安装完成后,根据预设置黑白名单规则进行设置;用户手动设置黑白名单;若应用被查杀,则每次下次用户启动是从最开始的界面显示,而不是上一次使用的界面显示。例如后台管理是暗屏待机下,等待x分钟后进行查杀,正在使用的地图导航应用,在后台被查杀,导致导航终止;或者社交型应用被误差,导致无法接受消息,需重新原创 2022-01-07 16:58:23 · 867 阅读 · 0 评论 -
[转][学习]软件绿色联盟应用体验标准5.0_功耗标准-公示版
文档来源:软件绿色联盟软件绿色联盟应用体验标准5.0_功耗标准-公示版.pdf软件绿色联盟官方-下载网址https://www.china-sga.com/index.html软件绿色联盟应用体验标准 5.0-功耗标准编制单位:软件绿色联盟·技术与标准工作组2021 年 1 1 月前 言本标准由软件绿色联盟技术与标准工作组提出并归档。本标准主要起草单位:百度、华为、阿里巴巴、中国信息通信研究院泰尔终端实验室。本标准主要起草人:王正意、胡军、杨恒、闫诗文、阳际荣、苏兆飞。1 范围转载 2022-01-06 21:39:27 · 1701 阅读 · 0 评论 -
【老文档20160925】一种基于大数据进行预防与阻断应用相互唤醒启动的方法
一、本专利技术所属的领域:领域:操作系统/应用管理常规用途:通过合理的应用管理,改善性能和功耗。二、相关技术背景技术背景:手机耗电、卡顿的原因之一,部分耗电应用在后台频繁调度CPU导致不必要的功耗和内存占用。举个例子:为用户明明没有主动打开某个应用,却在使用过程中出现了该应用推送过来的广告,这就是典型的耗电应用单纯为自身商业利益进行的异常且不必要的行为。本发明方案基于大数据进行应用异常行为收集并在此基础上制定的限制相互唤醒启动策略,旨在准确预防和阻断应用后台唤醒启动行为,让耗电应用从此再无机会后台原创 2022-01-05 21:44:53 · 662 阅读 · 0 评论 -
[老文档]2015-08-11一种WiFi阶梯式省电控制的策略及装置
一、本专利技术所属的领域:本发明属于移动设备技术领域,主要涉及一种WiFi阶梯式省电控制的策略及装置。二、相关技术背景场景一:我们在带手机出门的时候,往往是打开WiFi的开关,但并未连接上WiFi,导致WiFi的并没有实际工作却不停的工作中,这往往也是户外活动下手机续航能力不足的因素之一;场景二:晚上在家里一般是开启WiFi,但是睡觉的时间段WiFi开关依旧是开启的,长时间的不使用WiFi而未及时关闭,往往也是手机耗电杀手之一;智能手机普遍存在电池不耐用的情况,手机开启过多的功能会导致智能手机的续原创 2021-12-02 22:41:39 · 448 阅读 · 0 评论 -
2020-08-01 Google 省电模式
1. 省电模式主要做什么?DisplayPowerController->屏幕亮度减半VibratorService->关闭触摸震动和来电震动NetworkPolicyManagerService->限制 Doze 非白名单应用联网(WiFi与数据流量)使用WindowManagerService->关闭动画PowerManagerService->省电模式-CPU降频UiModeManagerService->开启暗色主题模式(Q平台版本新增)GnssL原创 2020-08-01 23:11:31 · 1218 阅读 · 1 评论 -
获取当前壁纸服务的应用包名
获取当前壁纸服务的应用包名目的:后台管理查杀或拦截的规避,即不能管控当前正在运行的壁纸服务import android.app.WallpaperManager @JvmStatic fun getDefaultWallPaper(context: Context): String? { val wallpaperManager = WallpaperManager.getInstance(context) wallpaperManager?.let {原创 2020-07-26 10:26:09 · 365 阅读 · 0 评论 -
Android 剩余可用时长的计算公式
1. 剩余可用时长 BatteryStatsImpl.computeBatteryTimeRemaining 函数http://androidxref.com/9.0.0_r3/xref/frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java**公式:剩余电池可用时长 = 每消耗1%的电量的平均时间 * 当前电量值 **原理:统计出每次放电的电量变化的时间,获得每消耗1%的电量的平均时间,再根据当前电量值,从而得到原创 2020-07-19 23:11:35 · 2982 阅读 · 2 评论 -
GPS框架和省电
一、GPS 功能介绍1.1 术语介绍GPS是由美国国防部研制建立的一种具有全方位、全天候、全时段、高精度的卫星导航系统,能为全球用户提供低成本、高精度的三维位置、速度和精确定时等导航信息,是卫星通信技术在导航领域的应用典范,它极大地提高了地球社会的信息化水平,有力地推动了数字经济的发展1.2 GPS与GNSS区别GNSS 的全称是全球导航卫星系统(Global Navigation Sat...原创 2019-11-24 20:49:07 · 381 阅读 · 0 评论 -
Android配置 time_in_state 的文件节点
1. Android 配置 time_in_state 的文件节点该文件主要是为Android系统提供每个CPU频率档位的运行时间数据,为CPU耗电算法提供时间参数当没有 time_in_state 节点数据的时候,需要配置下 CONFIG_CPU_FREQ_STAT 和 CONFIG_CPU_FREQ_STAT_DETAILS<mysystem>:/sys/devices/sy...原创 2018-10-25 19:55:00 · 3348 阅读 · 1 评论 -
4 展讯Sprd设置-电池-PowerController.exitPowerSaveMode函数接口
0. 前言上接展讯Sprd设置-电池-setPowerSaveModehttps://blog.csdn.net/su749520/article/details/831836343 展讯Sprd设置-电池-onPowerSaveModeChanging接口https://blog.csdn.net/su749520/article/details/83273432源码走...原创 2018-10-22 16:34:41 · 561 阅读 · 0 评论 -
3 展讯Sprd设置-电池-onPowerSaveModeChanging接口
0. 前言上接展讯Sprd设置-电池-setPowerSaveModehttps://blog.csdn.net/su749520/article/details/83183634源码走读的开始位置vendor/sprd/platform/frameworks/base/services/core/java/com/android/server/power/PowerControll...原创 2018-10-22 15:22:00 · 3212 阅读 · 0 评论 -
2. 展讯Sprd设置-电池-省电白名单设置-appPowerSaveConfig.xml
1. 源码设置路径vendor\sprd\platform\frameworks\native\data\etc\appPowerSaveConfig.xml<?xml version='1.0' encoding='utf-8' standalone='yes' ?><app_powersave_config><package name="com.pp....原创 2018-10-19 16:28:58 · 2185 阅读 · 0 评论 -
1 展讯Sprd设置-电池-setPowerSaveMode 接口
1. 接口传递逻辑2. 界面入口-SprdBatterySaverSettingspackage com.android.settings.fuelgauge;public class SprdBatterySaverSettings extends SettingsPreferenceFragment { @Override public void onCreate(...原创 2018-10-19 15:49:39 · 2678 阅读 · 1 评论 -
Android应用场景识别-音乐进程或音频进程识别
0. 实现原理获取当前进程是音乐进程 && 当前进程是否占有音频服务焦点1.上层调用方法AudioManager audio = getSystemService(AudioManager.class);(audio.isMusicActive() && audio.isAppInFocus(pkgName))具体工具类调用如下package com....原创 2018-10-10 14:39:52 · 1498 阅读 · 0 评论 -
电池详情获取应用运行时间
1. 电池用量时间一直为02. 源码跟踪2.1 字符串位置 &lt;string name="battery_detail_foreground" msgid="3350401514602032183"&gt;"在前台运行时"&lt;/string&gt; &lt;string name=&原创 2019-01-12 14:56:06 · 751 阅读 · 0 评论 -
power_profile.xml 的 dsp.video 校准
1. dsp.video 定义当通过 DSP 进行视频解码时消耗的额外电量。通俗的理解即播放视频的电流消耗2. 测试步骤2.1 测试环境打开飞行模式,设置休眠时长为最大,插入耳机2.2 播放视频,测试电流 A1播放720视频,待电流稳定,测试1分钟内的平均电流,实测A1 = 266mA2.3 暂停视频,测试电流 A2播放720视频,待电流稳定,测试1分钟内的平均电流,实测A2 =...原创 2018-09-28 12:07:58 · 349 阅读 · 0 评论 -
power_profile.xml 的 dsp.audio 校准
1. dsp.audio 定义当通过 DSP 进行音频解码/编码时消耗的额外电量。2. 测试步骤2.1 测试环境开启飞行模式2.2 强制设置系统暗屏不休眠这里使用申请CPU唤醒锁方式adb shell “echo test > sys/power/wake_lock”2.3 暗屏测试,CPU唤醒时的待机电流 A1实测 A1 = 13.69 mA2.4 亮屏,解除之前...原创 2018-09-28 11:49:53 · 457 阅读 · 0 评论 -
power_profile.xml 的 wifi.scan校准
1. wifi.scanWLAN 正在扫描无线接入点时消耗的额外电量。即WiFi扫描消耗的电流2. 测试步骤2.1 开启飞行模式,设置休眠时间为最大值2.2 单独打开WiFi2.3 停留在WiFi设置界面2.4 记录电流A1待电流稳定,测试1分钟,设置界面每隔6秒会起一次电流,记录电流 A1 = 164.54 mA2.5 按退出键,退回上一级界面即可2.6 记录电流 A2...原创 2018-09-28 11:01:32 · 493 阅读 · 0 评论 -
Android P 省电策略BatterySaverPolicy文件
BatterySaverPolicy 源码frameworks/base/services/core/java/com/android/server/power/BatterySaverPolicy.java粗略看了下很有作为,感觉是目前5.0、6.0、7.0、8.0中变化比较大的部分/** * Class to decide whether to turn on battery sa...原创 2018-11-06 12:17:08 · 1287 阅读 · 0 评论 -
power_profile.xml 的 wifi.active校准
1. wifi.active 定义通过 WLAN 发送或接收信号时消耗的额外电量。公式:wifi.active = (WiFi发送耗电量 + WiFi接收耗电量)/ 22. 测试步骤2.1 测试建议使用iperf测试终端WiFi模块吞吐量https://blog.csdn.net/lyss918/article/details/760737462.2 测试环境飞行模式 + 开启W...原创 2018-09-28 10:34:31 · 457 阅读 · 0 评论 -
Android 7.0 耗电详情-应用消耗CPU电量统计原理
1. 原理应用CPU耗电计算 = APP运行中的每个CPU消耗时间和电量的总和,具体算法如下获取每个CPU频率运行时间接口-BatteryStatsImpl.getTimeAtCpuSpeed获取每个CPU频率消耗的电量-Profile.getAveragePowerForCpu其中一些应用没有电量消耗问题或者电量不准确,重点看下 time_in_state 节点有没有生成和power...原创 2018-10-25 20:36:21 · 2576 阅读 · 0 评论 -
5 展讯Sprd设置-电池-PowerController.enterPowerSaveMode 函数接口
0. 前言上接展讯Sprd设置-电池-setPowerSaveModehttps://blog.csdn.net/su749520/article/details/831836343 展讯Sprd设置-电池-onPowerSaveModeChanging接口https://blog.csdn.net/su749520/article/details/832734324 ...原创 2018-10-29 15:28:53 · 3017 阅读 · 0 评论 -
Android 判断电池是否为充电状态的方法
1. 工具类方法package com.android.settings.fuelgauge;import android.content.Context;import android.content.Intent;import android.content.IntentFilter;import android.os.BatteryManager;import android.u...原创 2018-10-31 12:22:46 · 10406 阅读 · 3 评论 -
电池高温下自动关机保护
1. 需求客制化项目:电池温度过高,主机将自动关机具体条件:电池温度 59 摄氏度以上,主机弹出“关机提醒”后自动关机2. 开发说明2.1 电池温度信息Linux 的节点:/sys/devices/platform/battery/Battery_Temperature应用层:注册电池广播即可2.1 具体思路后台运行常驻服务,监听广播,当温度达到阈值...原创 2018-04-25 09:31:40 · 1385 阅读 · 0 评论 -
[电池]设置-电池-上次充满电时间计算
1. 现象为什么第一次开机或者格式化后电池显示上次充满电是xxx天或者xxx分钟前,不管之前电池电量数值实际操作:充满电且拔除充电线,则显示上次充满电为0分钟前新机器第一次开机,不论当前电量大小,拔除充电线,则显示上次充满电为0分钟前修改系统时间未来时间,则显示上次充满电是xxx天或者xxx分钟前修改系统时间过去时间,则显示为0分钟前2. 原因因为上次充满电接口getStart...原创 2018-12-22 12:36:37 · 3693 阅读 · 0 评论 -
[电池]Android 9.0 电池未充电与充电字符串提示信息
1. 电池电量提醒1.1 未充电提醒若没有预估时间,则提示显示电池百分比若预估时间小于7分钟,则提示手机可能即将关机若预估时间小于15分钟,则提示剩余电池续航时间不到15分钟若15分钟<预估时间<1天,则提示估计大约还能用到xx h, xx min, xx sec若预估时间大于1天,则提示大约还可使用 1 days, x hr, x min, x sec若预估时间大于2...原创 2018-11-26 12:29:47 · 2645 阅读 · 1 评论 -
7 展讯Sprd设置-电池-关联自启动-跟踪代码
1. UI-关联自启动2. 源码走读-上层接口调用2.1 字符串strings_ex.xml&lt;string name="app_as_lunch"&gt;关联启动&lt;/string&gt;&lt;string name="app_as_lunch_optimization"&gt;关联自启动&原创 2019-01-12 14:53:56 · 9307 阅读 · 0 评论 -
Android 获取电池是否充电状态、充电器类型
0. demo 下载https://github.com/sufadi/BatteryInfo1. 电池广播获取充电状态// 电池状态import static android.os.BatteryManager.EXTRA_STATUS;// 未知import static android.os.BatteryManager.BATTERY_STATUS_UNKNOWN;// 充电...原创 2018-11-09 15:23:21 · 7815 阅读 · 0 评论 -
Android 获取电池温度
1. Demo 下载https://github.com/sufadi/BatteryInfo2. 电池温度// 当前电池温度import static android.os.BatteryManager.EXTRA_TEMPERATURE; private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver...原创 2018-11-09 15:02:51 · 7761 阅读 · 0 评论 -
Android 获取电池电压和电池电压高提示
1. Demo 下载https://github.com/sufadi/BatteryInfo2. 获取电池电压// 当前电池电压import static android.os.BatteryManager.EXTRA_VOLTAGE; private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver()...原创 2018-11-09 12:24:00 · 4056 阅读 · 0 评论 -
Android P 开启省电模式后拔USB后继续保持省电模式
1. 前言之前一直不知道为什么老是自动进入省电模式,非常诧异。查看日志也没有直接调用PowerManager.setPowerSaveMode。最终发现 adb shell settings get global low_power, 键值low_power每次暗屏都是发生改变。一怒一下我,查看了源码中对应关键字的应用root@69959bbb90c6:/home/suhuazhi/9.1# ...原创 2018-11-06 13:12:36 · 1617 阅读 · 1 评论 -
20181027[省电续航]音量省电控制功能V1.0
1. 需求针对高耗电场景,尤其是游戏,进行音量或者音效的控制,已达到降低平均电流,达到省电的作用2. 实现方案2.1 高耗电场景目前通过应用包名判断当指定界面显示于用户第一可见界面时,则判定为高耗电场景当指定界面不显示于用户第一可见界面时,则判定位正常场景 private ILavaAppLockCallback mSecurityCabllback = new ILava...原创 2018-10-27 16:30:46 · 371 阅读 · 0 评论 -
6 展讯Sprd设置-电池-PowerController.onPowerSaveModeChanged 函数接口
0. 前言展讯Sprd设置-电池-setPowerSaveModehttps://blog.csdn.net/su749520/article/details/83183634展讯Sprd设置-电池-省电白名单设置-appPowerSaveConfig.xmlhttps://blog.csdn.net/su749520/article/details/83184394展...原创 2018-10-30 10:14:31 · 2193 阅读 · 0 评论 -
PowerProfile.java解析power_profile.xml的数据
1. PowerProfile.java这个文件主要目的是为了power_profile.xml的配置信息,尤其是配置的电流信息frameworks/base/core/java/com/android/internal/os/PowerProfile.java/* * Copyright (C) 2009 The Android Open Source Project * * Lic...原创 2018-10-24 11:07:09 · 1208 阅读 · 0 评论 -
power_profile.xml 的 wifi.on 校准
1. wifi.on当 WLAN 打开,但未接收、发送信号或执行扫描时消耗的额外电量。公式: 飞行模块下WiFi开启的待机电流 - 模式下待机电流 = wifi.on2. 测试步骤2.1 测试环境飞行模式 + WiFi开启 + 确保不连接任何WiFi热点+暗屏待机2.2 测试WiFi的待机电流, A 1上述环境下的WiFi待机电流,实测 A 1 = 14.66 mA2.3 测试待...原创 2018-09-28 09:56:03 · 359 阅读 · 0 评论