Android App 耗电量分析-1

分为新老两个版本的SDK-TOOL,新版的放在另外一篇博客

Android App 电量分析icon-default.png?t=M85Bhttps://blog.csdn.net/kan137g/article/details/84886277

 耗电操作主要分为下面几种

  1. 高频通信
  2. CPU密集型的计算
  3. 传感器
  4.  频繁唤醒系统

解决方案

  • -减少:您的应用可以裁剪多少操作?例如,它可以缓存下载的数据,而不是重复唤醒无线电重新下载数据?
  • -推迟:应用程序是否需要立即执行操作?例如,它是否可以等到设备充电才将数据备份到云端?
  •  合并:可以批量工作,而不是多次将设备置于活动状态?例如,真的有必要让几十个应用程序分别在不同的时间打开收音机发送消息?在一次唤醒收音机的过程中,信息可以传输吗?

举例:

  • - 高频通信,使用合并或者裁剪的方式解决
    •     -所有的推送都用统一的推送服务,比如谷歌推送或者小米推送
    •     - 同时连接多个智能设备进行通信,真的有这个必要么,不需要的尽早断开长链接吧
  • - CPU密集型,把一定的计算量放到服务器去执行
  • - 传感器,类似于GPS之类的,看场景把这个没有太好的办法

测试工具

这里推荐两个:一个是Google官方提供的Battery Historian,一个是腾讯提供的一个测试电量的工具GT


使用Battery Historian分析电量使用情况

Battery Historian工具提供了一段时间内设备电池消耗的深入分析。在全系统级别,该工具以HTML表示形式从系统日志中查看与电源相关的事件。在特定应用程序级别,该工具提供了各种数据,可帮助您确定电池耗尽应用程序的行为。

![image]

- 大约在早上6:50,可视化显示电池电量相对急剧下降。

 图表分析
 系统整体分析

  • - 排序方式(选择:电量使用估计 device estimated power use)
    • 选择右方的systemstats(系统统计),查看是什么原因导致的耗电量过高
    • 第二行能看到按耗电量排序的App,确定了耗电高的应用,再去看看耗电高的原因

单个应用分析

  • 在App Selection下选择按名字筛选,选择应用的包名称
  • 在Tables下选择,device estimated power use
  • 选择右方的systemstats(系统统计),查看自己应用在哪些方面耗电量过高

根据特定的应用程序,以下数据可视化类别将更改为显示特定于应用程序的数据
    - SyncManager.
    - Foreground process.
    - Userspace Wakelock.
    - Top app.
    - JobScheduler.
    - Activity Manager Proc.
电池电量急剧下降,显示了三件事情:
- CPU正在运行,
- 应用程序已获取唤醒锁,
- 并且屏幕已打开。
 

SDK-TOOL版本小于25的使用下面指令

因为SDK下面的platform-tool的更新,所以不同版本的方式不一定管用

SDK-TOOl 版本小于25的应该是用这些指令

adb shell dumpsys batterystats --enable full-wake-history
//首先要初始化batterystats数据
adb shell dumpsys batterystats --reset
//使用monkey对要进行电量测试的应用进行操作
adb shell monkey -p 包名 -v 1000
// 收集Battery数据: 
adb shell dumpsys batterystats > batterystats.txt 
// battery-historian来生成我们可见HTML报告
python historian.py batterystats.txt > batterystats.html



SDK-TOOL版本大于于25的使用下面指令


然后再用GoLang去分析,由于环境比较复杂,新开一篇文章详情见Android App 电量分析

要从运行Android 7.0及更高版本的开发设备获取错误报告:$ adb bugreport bugreport.zip
对于6.0及更低版本的设备:
// 在高版本的SDK中,这条命令会提示不能打包压缩,而日志内容有几十M,一般需要等待一两分钟
$ adb bugreport > bugreport.txt

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/43061.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

耗电优化(上):Android App 耗电分析

这里写目录标题 1. 电量和硬件1.1 App 通过使用硬件模块消耗相应的电能1.2 资源调度机制是厂商功耗优化最重要的手段 2. 电量和应用程序2.1 评估不同应用程序的耗电情况结论:把电量的测量转化为功能模块的使用时间或者次数 2.2 尽可能准确的测量电量bug report结合 …

图文结合,教您如何使用Trepn Profiler测试手机应用的耗电量

摘要:Trepn Profiler 可以帮助准确分析手机应用耗电情况的Android应用,可以测量很多与电池有关的数据,本文将结合图文,详细讲解如何操作。 Trepn Profiler 是一款帮助准确分析手机应用耗电情况的Android应用,可以测量很…

本地部署 ChatGLM-6B

本地部署 ChatGLM-6B 1. 什么是 ChatGLM-6B2. Github 地址3. 安装 Miniconda34. 创建虚拟环境5. 安装 ChatGLM-6B6. 启动 ChatGLM-6B7. 访问 ChatGLM-6B8. API部署9. 命令行部署10. 其他,修改使用显存大小11. ChatGLM-6B 的推理参数含义 1. 什么是 ChatGLM-6B Chat…

文心:PPT 制作、数字人主播一键开播等应用场景惊艳到我了,下面给到Prompt工程详细教程应用场景及案例

文心:PPT 制作、数字人主播一键开播等应用场景惊艳到我了,下面给到Prompt工程详细教程应用场景及案例 1.文心千帆简介 文心千帆优势 基础强大、知识丰富 文心千帆平台基于百度智能云,采用飞桨深度学习框架作为底层支撑,并内置文心…

【SQLAlchemy】第二篇——连接失效及连接池

一、背景 为了节约资源,MySQL会对建立的连接进行监控,当某些连接处于不活跃状态的时间超过一个阈值时,则关闭它们。 用户可以执行show variables like %wait_timeout%;来查看这个阈值: 可以看到,在默认的情况下&…

一个程序员的意想流

Readme:记录生活、工作、学习中自己的思考和想法,但是可能很杂乱的。目的为了提升自己BB的能力。 2023.3.9: 作为一个嵌入式(底层)开发者,通过对Linux内核的不断深入,包括VFS、内存管理、进程管…

ChatGPT提示词工程师 | prompt engineering | 吴恩达教你写提示词 课程笔记

Lecture1 引言 两种大语言模型(LLMs,Large Language Models): Base LLM: Predicts next word, based on text training dataInstruction Tuned LLM: Tries to follow instructions Lecture2 指南 使用C…

chatgpt提示词学习指南,提示词工程,提示词汇总

这篇gpt提示词指南我会随着我的学习一直更新。 结构 好的提示词角色(能力)上下文详细的指令说明风格输出格式 角色(必填):可以给模型提供特定的能力,让它更好的解决我们的问题,在声明角色后,…

股票入门基础知识之投资家有哪些?股票入门基础知识中的投资角色

《量化分析海龟训练营》课程学员:一般来说哪些人投资做得好呢? 同济桥博士:投资是一门科学,有很多研究投资的人拿到过诺贝尔经济学奖,投资做得好有五类人:科学家、哲学家、神学家、交易员、民间高手。最后…

投资理财启蒙之理财入门必看?

投资基金股票是怎么赚钱的 ? 公司上市就是为了融资扩大规模,需要在上海/深圳证券交易所去审批,现在国家注册制落实后,现在企业要上市很严格的需要公开公司的各方面情况的 ,投资渠道也正规,比如支付宝/微信&…

金融业务知识(2):股票交易的基本流程

股票交易的基本流程 (一)开户 需要开立证券账户和资金账户 证券账户用来记载投资者所持有的证券种类、数量和相应的变动情况 资金账户则用来记载和反映投资者买卖证券的货币收付和结存数额。 开立证券账户和资金账户后,投资者买卖证券所涉…

基金投资入门3:中外常见金融指数类型说明

在每天的新闻及财经类文章中,经常听到当日的上证综指、深证成指、沪深300指数是多少点、涨跌幅是多少。 大家潜意识中认为指数点、涨跌幅越高越好,至于各指数代表的是什么意思并不清楚,但是对于刚接触投资理财的朋友,只有搞懂各指…

最新FRM一级二级handbook官方教材原版书

最新FRM一级二级教材囊括了FRM考试需要掌握的所有要点和难点,并进行了深入细致地讲解。本教材紧扣GARP协会新版教材的章节编排,加入了编著者多本同类教材的编写经验和一线教学经验的总结,并关注了国际国内**的风控热点。

证券交易金融知识学习(1)

学习目标: 需要做一些关于投资交易软件的测试,需要了解操作背后的交易意义,需要学习一些金融基础知识。本人是金融证券交易的小白,从0开始学习。故记录一些金融知识学习的笔记,比较零散,目的是为了让自己复…

【转】投资从入门到精通,七本经典书籍

http://www.create.hk/archives/158 随着我国股市的复苏、资本市场的规律,却去研究一些“技术分析”之类的理论,是不科学的。“技术分析”属于玄学,也就是形而上学。目前在我国东部沿海地区,由于投资者知识和经验的日益增多&…

投资学翻译1

生产网络与股票回报:垂直创造性破坏的作用 本文从实证和理论两方面研究了生产网络中企业风险与企业与消费者距离之间的关系。我们记录了两个新事实:离消费者越远的企业,其风险溢价越高,对总生产率的影响也越大。我们用一个具有多层生产过程的一般均衡模…

电商设计师(美工)必备的素材网站|优图!

平时我们再做设计的时候,时间长了也很苦恼,而甲方或者老班总是要求我们要做高大上或者有灵感的作品。而灵感不是说来就来的呀~~~ 电商大致的素材类型你知道么? 首焦海报、PC促销海报、M端海报、大促首页、M端大促页面、页面设计、详情页、电…

电商设计师(美工)必备|模板素材网站!

优图网:站内的分类特别清新,每日都有新的素材图片更新,韩国清新风比较明显,是难得的符 合国情的素材网站! 网址:www.uppsd.com 素材路上: 大量针对淘宝设计这一块的素材,前段时间刚…

【电商】电商后台设计—售后流程

在电商系统中,订单售后是整个平台系统最为重要的组成部分之一,好的售后产品能够极大提升用户对于整个电商产品的用户体验,提高口碑。产生售后的原因很多,处理平台本身的问题还有其他物流时效、配送员服务态度等因素,产…