【Android电量】Battery Historian高级用法

简介: Wakelock analysisKernel trace analysisOther command line toolsWakelock analysis默认情况下,Android不会记录指定应用的用户空间下wakelock transitions的时间戳。
  • Wakelock analysis
  • Kernel trace analysis
  • Other command line tools

Wakelock analysis

默认情况下,Android不会记录指定应用的用户空间下wakelock transitions的时间戳。如果想要让 Historian 在timeline展示每个 individual wakelock 的详细信息,就需要在开始操作试验之前通过下面的命令开启 full wakelock reporting。

adb shell dumpsys batterystats --enable full-wake-history

需要注意的是,一旦开启 full wakelock reporting,电池历史日志记录将在几小时后溢出。使用此选项可进行短期测试(3-4小时)。

Kernel trace analysis

要生成记录内核唤醒源和内核唤醒锁活动的跟踪文件,

首先开启 kernel trace logging:

$ adb root
$ adb shell

Set the events to trace.

$ echo "power:wakeup_source_activate" >> /d/tracing/set_event
$ echo "power:wakeup_source_deactivate" >> /d/tracing/set_event

The default trace size for most devices is 1MB, which is relatively low and might cause the logs to overflow.
8MB to 10MB should be a decent size for 5-6 hours of logging.

$ echo 8192 > /d/tracing/buffer_size_kb
$ echo 1 > /d/tracing/tracing_on

使用设备跑测试场景
完成后导出日志

$ echo 0 > /d/tracing/tracing_on
$ adb pull /d/tracing/trace <some path>
 
##### Take a bug report at this time.
$ adb bugreport > bugreport.txt

Other command line tools

System stats
$ go run cmd/checkin-parse/local_checkin_parse.go --input=bugreport.txt
Timeline analysis
$ go run cmd/history-parse/local_history_parse.go --summary=totalTime --input=bugreport.txt
Diff two bug reports
$ go run cmd/checkin-delta/local_checkin_delta.go --input=bugreport_1.txt,bugreport_2.txt
相关文章
|
2月前
|
XML Android开发 数据格式
ConstraintLayout 2,Android高级开发面试
ConstraintLayout 2,Android高级开发面试
|
24天前
|
缓存 JSON 网络协议
Android面试题:App性能优化之电量优化和网络优化
这篇文章讨论了Android应用的电量和网络优化。电量优化涉及Doze和Standby模式,其中应用可能需要通过用户白名单或电池广播来适应限制。Battery Historian和Android Studio的Energy Profile是电量分析工具。建议减少不必要的操作,延迟非关键任务,合并网络请求。网络优化包括HTTPDNS减少DNS解析延迟,Keep-Alive复用连接,HTTP/2实现多路复用,以及使用protobuf和gzip压缩数据。其他策略如使用WebP图像格式,按网络质量提供不同分辨率的图片,以及启用HTTP缓存也是有效手段。
42 9
|
2月前
|
架构师 网络协议 算法
Android高级架构师整理面试经历发现?(大厂面经+学习笔记(1)
Android高级架构师整理面试经历发现?(大厂面经+学习笔记(1)
|
2月前
|
Android开发
Android高级开发面试题以及笞案整理,实战解析
Android高级开发面试题以及笞案整理,实战解析
|
2月前
|
定位技术 Android开发
Intent在Android中的几种用法
Intent在Android中的几种用法
25 1
|
2月前
|
监控 安全 网络安全
网络安全与信息安全:防护之道与加密技术构建高效Android应用:从基础到高级的内存优化策略
【5月更文挑战第27天】在数字化时代,数据成为了新的货币。然而,随着信息技术的蓬勃发展,网络安全漏洞和信息泄露事件层出不穷,对个人隐私和企业安全构成了严重威胁。本文将深入探讨网络安全的重要性,分析当前常见的网络攻击方式,并重点分享关于加密技术和提升安全意识的知识。通过阅读本文,读者将获得如何有效防御网络威胁、保护个人和企业信息安全的策略。
|
2月前
|
消息中间件 缓存 架构师
2024年阿里Android高级面试题分享,附学习笔记+面试整理+进阶书籍
2024年阿里Android高级面试题分享,附学习笔记+面试整理+进阶书籍
|
2月前
|
设计模式 SQL 前端开发
2024年阿里Android高级面试题分享,送给正在迷茫的你
2024年阿里Android高级面试题分享,送给正在迷茫的你
|
10月前
|
Java Android开发
Android Studio 的一些高级使用技巧
Android Studio 的一些高级使用技巧
108 0
|
2月前
|
Java Android开发 数据安全/隐私保护
安卓逆向 -- IDA基本用法
安卓逆向 -- IDA基本用法
60 0