Android App耗电发热分析

adb shell dumpsys batterystats

这个命令可以打印出于电池消耗相关的信息,可以通过

adb shell dympsys batterystats > D:/batterystats.txt

命令将内容输出到文本文件中。文件大致内容如下:

  1. 左边的方框内是时间线,在这个文件的记录中,电池消耗是以时间为线索的。
  2. 中间的方框是剩余电池电量,在正常使用情况下,会随着时间减少。
  3. 右边的方框表示在该时间发生了什么事,一般都是与耗电相关的事件的重要节点。比如+wake_lock是某个应用获取了唤醒锁,-wake_lock是释放了唤醒锁。+running则表示CPU被某段程序占用,-running则表示该段程序运行完了等等,意思都是比较字面化的。而u0a78等符号则表示应用id,一个id对应一个应用,应用的id列表可以在这个文件内找到。(以上都是我的猜测,但是经过我一天学习应该基本正确。。。内谁,你先把砖头放下,有话我们慢慢说)

那有了这个报告之后该怎么分析耗电高,手机发热的原因呢?我们用notepad++打开该文件然后搜索“temp=”,会得出下面的结果: 

看到没有,电量有了,手机温度也有了,我们只要分析温度升高还有电量下降特别快的时间里发生了什么事情就行了。我的手机使用比较正常所以这里没有太特别的地方。

最后,该上轮子了。google已经做了工具用于可视化的显示这个报告:battery-historian。 
我们只要跟着下面几个步骤做就可以查看可视化电池报告啦: 
1.下载上面链接中的battery-historian工具并解压。 
2.打开解压文件夹中的script文件夹。 
3.在该路径下打开命令行窗口。 
4.输入historian.py D:/batterystats.txt > D:/battery.html。这里需要安装python环境,我装的是python2.7,可以正常使用。 
5.用chrome浏览器打开battery.html文件。 
做完以上步骤我们就可以看到以下界面,开始分析吧少年: 

Android功耗(21)--- App耗电发热分析相关推荐

  1. Android App耗电发热分析

    如题,这是一篇分享如何分析Android平台App耗电问题的文章,今天学到的新技能,算是之前写过的一篇文章Android APP耗电优化的一些经验的续集吧,O(∩_∩)O. 首先,上一个adb命令: ...

  2. app耗电检测分析以及优化

    耗电量不仅是衡量应用性能表现的一个重要指标,同时也是用户体验的重要组成部分.要做好⼀款APP,不仅仅是实现功能那么简单,我们需要考虑很多性能指标,让用户用的更爽.在开发过程中,要充分考虑到各项性能指标 ...

  3. 由Asset中的double free引发的Android系统及APP崩溃问题分析

    前言 这个问题在来小米之前就遇到并解决过,当时的解决方案与朴老师的初步解决方案一样,本文在之前的初步分析结果之上进一步进行了深入分析,最终得出了当前看起来相对合理并符合原来架构设计的最终方案. 文中引 ...

  4. Android 功耗( 21 )---MTK 低功耗1

    一.SPM以及时钟请求信号控制流程 因为整个系统不只是AP(MCU),还包括modem.connectivity等子系统:CPU进入WFI后,整个系统就依靠一颗SCP:SPM来控制睡眠/唤醒的流程,它 ...

  5. Android App耗电分析

    项目中用到了一个比较坑爹的问题,就是App的耗电问题,发现自己开发的时候没有注意这个问题,一发布给用户就暴露了这个我平常不注意的问题挺蛋疼,平常开发我都觉得耗电是很正常的,再耗电也在可接受范围内,但是 ...

  6. Android 系统(102)---Android APP耗电优化

    Android APP耗电优化 可能造成耗电的一些原因 网络请求耗电,而且手机数据网络进行http请求比无线网进行http请求更加耗电,因为数据网络调用到一些底层的硬件模块,就如GPS一样,当手机打开 ...

  7. Android功耗(8)---Camera功耗分析和拆解

    一.Camera功耗分析和拆解 Q:如何判断camera功耗是否偏高? A:camera功耗包含平台基础值.屏幕.模组.马达.feature.算法.camera app等部分,我们的camera在MT ...

  8. Android 系统(78)---《android framework常用api源码分析》之 app应用安装流程

    <android framework常用api源码分析>之 app应用安装流程 <android framework常用api源码分析>android生态在中国已经发展非常庞大 ...

  9. android 功耗(1)---android 功耗分析方法和优化

    android 功耗 高通平台   分类:功耗 1.底电流调试(Rock Bottom Current Optimization) 底电流在手机飞行模式下调试.每个平台的底电流数据可能不一样,具体可以 ...

最新文章

  1. 从系统的启动过程分析,为什么我们划分分区的时候 /sbin 、/bin、/lib、/dev不能做为独立的分区?...
  2. 【Linux】20.shell脚本 检测是否 ping 通
  3. 概率占据图(POM)算法理解
  4. 【C语言】找到兼职了心情紧张!
  5. 部分用户称苹果iPad Air 5产品质量下降 外壳有异响
  6. 关于AI和区块链的技术落地,你不知道的是……
  7. Tampermonkey 编写一个首页跳转的脚本
  8. Ansible详解(七)——Ansible palybook简单使用
  9. atitit 编程语言课程 v1 t55.docx 1. 编程语言概念(what 5 1.1. 自然语言与编程语言的关系 5 1.2. 开发中常用的编程语言 5 1.3. 编程语言代际 5 1.4
  10. Python控制Photoshop(Python+Com)
  11. QT应用编程: 编写HC05串口蓝牙调试助手(Android系统APP)
  12. 奥拉星插件flash下载手机版下载安装_flash插件
  13. 开机启动bat以及隐藏运行窗口
  14. css实现剪切蒙版,CSS3“蒙版(剪切路径)”: clip-path
  15. react-custom-scrollbars样式
  16. 点击修改按钮,将数据显示在弹层窗口中,利用ajax实现
  17. undefined is not a function错误解决
  18. matlab仿真 多胞体,四维空间(三):谈正多胞体
  19. 通信电子:RLC电路及滤波器
  20. HTML5期末大作业:电商网站设计——仿淘宝电商网站管理系统21页(含毕业设计论文7500字) HTML+CSS+JavaScript

热门文章

  1. 数据结构与算法分析(六)——C++实现二叉查找树
  2. 关于Nginx的配置文件解析
  3. 3.3.4.5. 日期计算
  4. 滤波电容、去耦电容、旁路电容的作用
  5. [C++] - C++11 多线程 - Mutex
  6. cmd cd命令_常用的一些dos命令分享
  7. 分支语句---- if …… else if …… else
  8. lisp 提取字符串中的數字_Redis 数据结构之字符串的那些骚操作
  9. 解决 IDEA 中src下xml等资源文件无法读取的问题
  10. luogu P2742 【模板】二维凸包 / [USACO5.1]圈奶牛Fencing the Cows