Android 性能优化-电量、瘦身、稳定

电量消耗难以量化

1.电量优化

1.通过接收系统广播

接收系统电量广播,来获取电量信息。

2.Battery Historian

google推荐的电量检测工具,线下使用
功能强大,推荐使用。可视化展示指标;耗电比例,执行时间,次数

https://developer.android.com/topic/performance/power/setup-battery-historian?hl=zh-cn

3 电量辅助监控 WakeLock

2.瘦身

1.apk组成

代码 class.dex
资源 res asserts
SO: lib

2.apk分析

apktool 反编译工具

3.Analyze Apk 2.2之后

可以快速查看apk 组成。

https://nimbleddroid.com/ app性能分析网站
文件大小 dex方法数

android-classyshark 二进制检查工具
支持多种apk jar

代码混淆proguard

把代码转换成功能性代码,把代码元素改成无意义的名字
打乱代码格式
debug不要打开

插件 Android methods count 显示库的方法数量

移除无用代码
使用aop的形式检测对象的构造函数,精确查询类对象是否使用。

在这里插入代码片

so移除
adbfilter 设置支持的CPU架构
armeabi 根据CPU类型加载对应架构so

3 稳定性

crash 是稳定性的大问题
预防为主,监控为辅

crash指标
uv pv crash率
启动crash率
增量 存量crash率:
尽可能还原crash现场
堆栈 设备 OS版本 进程 线程名 logcat
前后台使用时长 APP版本 小版本 渠道
CPU架构 内存信息 线程数 资源包信息 行为日志

列表页卡顿优化
convertView 复用
耗时任务异步处理
布局优化 :异步 X2C
图片优化 过大尺寸
滑动时取消加载
textview 优化:
boringLayout 单行
staticLayout 多行: 异步创建 提高效率
DynamicLayout 可编辑

faceBook/		TextLayoutBuilder 库  https://github.com/facebook/TextLayoutBuilder

储存优化

避免IO 发生在主线程
hook 
SP : 加载慢,初始化整个文件。MMKV 库 替换  https://github.com/Tencent/MMKV

webview

性能 适配
vassonic 三方框架

异常监控
白屏:所有像素一样 确认白屏

Guess you like

Origin blog.csdn.net/chentaishan/article/details/118610012