超全App性能优化知识技能策略
App性能优化
背景
- 客户体验
- 业务转化
- 降低成本
领域
- 包体积
- 电量
- 页面打开速度
- 图片
- 流畅度
技能
基础知识
计算机基础
网络基础
- dns
- tcp
- ssl
- http
- cdn
java虚拟机
- 运行机制
- 内存/gc
- 线程
- classloader
Android原理
GUI绘制原理
运行原理
- 事件循环
- 启动原理
- IPC调用
apk产物构建原理
富媒体编解码
其余
- java混淆
工具
android profiler
- Networking Traffic Tool
- Memory Monitor
- Allocation Tracker
- Heap Tool
- traceview
android device monitor
- Systrace
- HierarchyViewer
- Thread dump
android移动端
- GPU过度绘制
- GPU呈现模式分析
- 显示GPU视图升级
- 严格模式
电量分析工具
- WakeLock Dector
- Battery History Tool
内存分析工具
- MAT\GIMP
- LeakCanary
- Wrap Shell
adb常用命令
Lint
Trepn Profiler
数据
采集
- firebase
- BlockCanary
- LeakCanary
呈现
- Play/Firebase 后端
- 微信Matrix
常用策略
网络
访问速度
- httpdns
- spdy/http2
- quic/http3
- tls1.3/slightSSL
- 就近访问CDN
- 分片传输
内容体积
- gzip
- json -> pb
- 图片格式、裁剪、质量
减少网络访问
- 缓存
- 访问频率
- 削峰、限流
内存
内存分配
- 合适大小图片
- 去掉alpha通道
- 使用流技术解决大对象
回收策略
- RecyclerView
- 避免内存泄漏
- 避免频繁创立对象
- 对象池
GPU
重复绘制
- 背景优化
- 自己设置UI
减少层级
- ContraintLayout
- 善用merge
缩小刷新范围
IO
数据库
- sql优化
- 访问内容最小
- 索引
sp体积
内存缓存
电池
降低屏幕消耗
- 避免唤醒
- 降低屏幕亮度
- 避免长时间亮屏
减少CPU使用
CPU
算法优化
- 编解码优化
- 逻辑优化
- 避免死循环
- 缓存计算结果
善用多核
- rx
- stream api
耗时操作异步
- 网络
- IO
- 密集计算任务
包体积
架构更新
- App Bundle
- Dynamic Feature
减少资源
- R文件
- 无用资源
- 无用代码/sdk
降低资源占用
- zip高压缩比
- 图片正当大小
- 图片转xml
- so动态下发
- tinyPng
- 代码混淆、资源混淆
App性能优化.png
说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 超全App性能优化知识技能策略
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 超全App性能优化知识技能策略