Android 功耗(22)---MTK 功耗问题分析
1、功耗问题需要哪种log
功耗问题抓log请遵循几条原则:
---------------------------------------------------------------------------------------------------------------------
(1)测试功耗数据的过程务必使用user版本,并且关闭所有log
(2)除非有特殊需求,任何时候请关闭modem log(包括C2K modem log)
(3)mobile log部分,不要只提供kernel log(或者uart log),务必提供完整的mobile log包
(3)有丰富处理经验,且真的需要打开modem log,务必提供之前没有开modem log时的mobile log分析说明
log的抓取原则:
什么时候提供 |
数据连接关闭 |
数据连接打开 |
必要 |
mobile log(关闭modem log) |
mobile log + net log(关闭modem log) |
如果mobile + net log无法定位问题 |
mobile log + modem log |
mobile log + net log + modem log |
2、量测电流波形需要的工具
量测电流波形需要采样精度高,而且能保存整个电流变化为文件形式的专业工具。
这里推荐:PowerMonitor
官网介绍:
https://www.msoon.com/LabEquipment/PowerMonitor/
其图形界面为
有些量测电流波形提供的波形图为
对比之下精度太低,只能看图,问题不太好定位。
- Powermonitor的使用
1.连接假电池到powermonitor,假电池尽量不要使用大电容【注:假电池需要带NTC 电阻,否则可能不能正常开机】
2.如果开机powermonitor 出现红灯现象,可以设置Parameters à Power-up current limit 滑动到值比较大的地方
这样可以避免开机大电流,因为powermonitor的默认设定较低值,容易出现过流保护,从而导致powermonitor 红灯亮起
3.设置好电压4V【Set Vout】,然后点击 Vout Enable
4.点击Run 查看波形
5.录制好所需的波形后,可以点击Save 保存波形
3、thermal log
- 为什么需要抓thermal log
我们使用WhatsTemp 这个APP来抓取thermal log
thermal log里面包含了CPU/GPU使用信息,以及thermal limit的状况
对我们分析动态场景的功耗问题是极为有用的
- APP哪里下载
WhatsTemp可以在online上下载到:Home > Tool > WhatsTemp
- APP使用方法
4、systrace/ftrace
systrace/ftrace 也是我们分析功耗问题常用的工具
-------------------------------------------------------------------------------------------------------------
thermal log只能帮你粗略看CPU的loading状况,
而systrace/ftrace可以帮你定位到是谁在使用CPU,也可以用来分析idle状态下的毛刺波形是谁触发的
我们通常会把两者结合起来用:
用thermal log做初步分析比较loading的差异,用systrace/ftrace来定位root cause
5、wireshark
- 为什么要使用wireshark
wireshark是我们用来分析netlog的一个工具
通常用来定位开数据连接的待机功耗问题,查找是哪个APP/Process在使用数据
- 哪里可以下载
wireshark可以在公共网络上下载到,一般公司负责协议/TCP/Wifi这些部门也会有这个工具
- 怎么使用wireshark
首先需要在抓log时,打开mtklog中的netlog,就可以找到netlog对应的文件
用wireshark打开这个.cap文件,界面如下
有时候最前面的【时间戳】格式会不对,会跟mobile log对不上,如果遇到了,可以通过如下菜单调整
[View]->[Time Display Format]
6、layerdump
命令:adb shell dumpsys SurfaceFlinger
下面问launcher的图层:
h/w composer state:
h/w composer present and enabled
Hardware Composer state (version 01050000):
mDebugForceFakeVSync=0
Display[0] configurations (* current):
* 0: 1080x1920, xdpi=368.114990, ydpi=368.114990, refresh=16553550, colorTransform=0
numHwLayers=5, flags=00000000
type | handle | hint | flag | tr | blnd | format | source crop (l,t,r,b) | frame | name
-----------+----------+------+------+----+------+-------------+--------------------------------+------------------------+------
HWC | 7d2f027f00 | 0002 | 0000 | 00 | 0100 | RGBx_8888 | 0.0, 0.0, 1080.0, 1920.0 | 0, 0, 1080, 1920 | com.android.systemui.ImageWallpaper
HWC | 7d2f027680 | 0002 | 0000 | 00 | 0105 | RGBA_8888 | 0.0, 0.0, 1080.0, 1920.0 | 0, 0, 1080, 1920 | com.android.launcher3/com.android.launcher3.Launcher
HWC | 7d2f027200 | 0002 | 0000 | 00 | 0105 | RGBA_8888 | 0.0, 0.0, 1080.0, 54.0 | 0, 0, 1080, 54 | StatusBar
HWC | 7d2b367d80 | 0002 | 0000 | 00 | 0105 | RGBA_8888 | 0.0, 0.0, 1080.0, 108.0 | 0, 1812, 1080, 1920 | NavigationBar
FB TARGET | 7d2f626e80 | 0000 | 0000 | 00 | 0105 | RGBA_8888 | 0.0, 0.0, 1080.0, 1920.0 | 0, 0, 1080, 1920 | HWC_FRAMEBUFFER_TARGET
Android 功耗(22)---MTK 功耗问题分析相关推荐
- Android Linux Alarm 对功耗的影响
Android Linux Alarm 对功耗的影响 技术标签: alarm rtc android linux 文章目录 1. Alarm介绍 1.1 alarm的几种类型及区别 1.2 al ...
- android功耗测试方法,手机功耗测试指南
和您一起终身学习,这里是程序员Android 本篇文章主要介绍 Android 开发中的部分 功耗 知识点,通过阅读本篇文章,您将收获以下内容:1.测试功耗手机配置 2.飞行模式待机功耗 3.单SIM ...
- Android AsyncTask两种线程池分析和总结
转自:http://bbs.51cto.com/thread-1114378-1-1.html Android AsyncTask两种线程池分析和总结 (一) 前言 在android Async ...
- Android 系统(78)---《android framework常用api源码分析》之 app应用安装流程
<android framework常用api源码分析>之 app应用安装流程 <android framework常用api源码分析>android生态在中国已经发展非常庞大 ...
- 转:Android应用开发性能优化完全分析
转自:http://blog.csdn.net/yanbober/article/details/48394201 1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾.不想写的原因是随便上网一搜 ...
- Android中app卡顿原因分析示例
http://www.cnblogs.com/zhucai/p/weibo-graphics-performance-analyse.html 朱才 专注于Android图形动画 MIUI工程师 博客 ...
- Android+上百实例源码分析以及开源分析+集合打包
1.360新版特性界面源代码 实现了360新版特性界面的效果,主要涉及到Qt的一些事件处理与自定义控件.但源码好像是c++. 2.aidl跨进程调用 服务端onBind暴露,然后客户端bindServ ...
- Android应用开发性能优化完全分析
1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾.不想写的原因是随便上网一搜一堆关于性能的建议,感觉大家你一总结.我一总结的都说到了很多优化注意事项,但是看过这些文章后大多数存在一个问题就是只 ...
- Android上百实例源码分析以及开源分析集合打包
感谢网友banketree的收集,压缩包的内容如下: 1.360新版特性界面源代码 实现了360新版特性界面的效果,主要涉及到Qt的一些事件处理与自定义控件.但源码好像是c++. 2.aidl跨进程调 ...
- Android 8.0系统源码分析--Camera processCaptureResult结果回传源码分析
相机,从上到下概览一下,真是太大了,上面的APP->Framework->CameraServer->CameraHAL,HAL进程中Pipeline.接各种算法的Node.再往下的 ...
最新文章
- [C#]ASP.NET MVC 3 在线学习资料
- 高并发系列:存储优化之也许可能是史上最详尽的分库分表文章之一
- 信息系统项目管理知识--项目时间管理
- Java中main函数只能调用同类中的静态方法?
- x^A=B(mod C)的解 (离散对数与原根)
- Github星标超3k的推荐系统入门资料合集(含教程、论文、代码、数据)
- mysql max case连用_mysql 嵌套 case when 的问题
- 360要在A股上市 华泰联合证券已签订IPO辅导协议
- PyTorch学习记录-1PyTorch安装
- yum客户端的配置文件的格式
- 连接查询(交叉连接,内连接,外连接,自然连接)
- 二分查找 递归与非递归实现
- CentOS 缺少mysqli扩展 请检查PHP配置
- Access数据库学习总结(1)
- 并查集算法题-We Are A Team-python实现
- IBM Power小型机用前面板液晶屏查看HMC端口IP
- kindle看pdf乱码_kindle阅读pdf中文乱码解决
- SSM框架—Thymeleaf模板引擎 Spring5整合Thymeleaf(XML配置)
- 你不知道的JavaScript(上卷)- - 书本知识点记录
- photoshop油画滤镜使用和案例教程
热门文章
- 【STM32】HAL库 STM32CubeMX教程十五---FMC-SDRAM(一)
- QT5开发及实例学习之二信号和槽机制
- android mtk平台的fm停止搜索,【MTK平台,手机工程模式知识及方法详解】
- 【LeetCode】剑指 Offer 56. 数组中数字出现的次数
- 《Reids 设计与实现》第二章 字典
- UML类图之六种基本关系详解
- 源码分析Dubbo前置篇-寻找注册中心、服务提供者、服务消费者功能入口
- 剑指Offer的学习笔记(C#篇)-- 数组中重复的数字
- vue从入门到开发--4--处理http请求
- SDUT 3399 数据结构实验之排序二:交换排序