从源码中来,到业务中去;分享一份珍藏许久的性能优化学习手册

最近公司搞项目,在做 App 性能优化,现在到了测试的阶段了,趁着这段闲暇的时间,在这里正好做一个总结,一来是供大家了解学习,二来也方便自己以后查阅

相信用 Android 的同学都知道,新买的手机用过一段时间后,手机变得越来越卡了;就例如:装了一些 APP 后,电量用得飞快,一天基本要一充;有些 APP 打开半天加载不出来;有些 APP 进入某些页面突然闪退;等等诸如此类情况都在时常发生

那造成这种情况的是什么原因呢?

  • 根本原因就是因为 Android 系统源码开放的,可以对源码进行更改,像国内的几大手机厂商,都是对系统进入定制开发,这样就会引发一系列问题,就比如说著名的系统碎片化问题
  • 并且各大厂商定制的系统兼容性肯定不好,开发人员要对各个系统各种适配,还有开发人员水平参次不齐,这样开发出来的 APP 就会出现上述所说的情况

那么为了避免上述这些情况发生,那么企业就必须要招收精通性能优化这一块的开发人才;其次性能优化学习与实践技术人员成长进步的一条途径,同时也是改善代码质量的一次机会;换言之,在学习性能优化的过程中;本身也是一个精益求精过程,代表了你对代码的重视,对高质量应用的追求

那么该如何去学习性能优化呢?

大多数情况下,我们都不创造知识而只是知识的搬运工;一般做的就是对知识搜集整合;所以我把所做过的各种性能优化案例和方案加以提炼、总结;最终将之整合成了一份 Android 性能优化手册,有需要这份手册的朋友:可以私信发送 “进阶” 即可 直达获取;相信大家通过阅读这份手册之后,能够查漏补缺;帮助大家早日攻克性能优化这一难题

手册内容展示如下:

App 启动优化
  • 为什么要做 App 启动优化?
  • 分析优化方向
  • 相关数据测量
  • 优化技巧
  • App 启动方式
  • App 启动流程简述

UI 布局优化
  • 优化思路
  • 优化方案
  • 选择合适的布局类型
  • 尽可能少用 wrap_content
  • 用 SurfaceView 或 TextureView 代替普通 View
  • 使用 RenderJavascript
  • 使用 OpenGL 绘图
  • 布局调优工具

完整版 Android 性能优化手册 获取方式:可以私信发送 ”进阶“ 即可 直达获取
卡顿优化和布局优化
  • 卡顿分析
  • 刷新率
  • PerfDog
  • CPU Profile
  • 布局优化
  • 过度绘制
  • 解决过度绘制
  • 层级优化
  • 使用 merge
  • ViewStub
  • 不要在 onDraw 里创建对象
  • 异步加载布局

崩溃优化
  • 崩溃的收集
  • ANR
  • 应用退出
  • 崩溃处理
  • 崩溃现场
  • 崩溃分析
  • 系统崩溃

完整版 Android 性能优化手册 获取方式:可以私信发送 ”进阶“ 即可 直达获取
网络优化
  • 网络指标
  • 用户体验
  • 网络监控
  • Network Monitor
  • Charles 抓包工具
  • 优化 DNS 解析
  • 连接池复用
  • 数据压缩
  • 弱网优化
  • 网络安全

储存优化
  • Android 存储方式
  • SharedPrefence
  • 多进程问题 -> mmkv
  • 已经有 xml/json,为什么要用 protobuf
  • 项目中使用 protobuf
  • 语言规范
  • 字段约束
  • 编码协议

APK 瘦身方案
  • 瘦身原因
  • APK 组成
  • 代码瘦身
  • 代码混淆
  • 三方库处理
  • 移除无用代码
  • 资源瘦身
  • 冗余资源
  • 图片处理
  • 资源混淆
  • SO 瘦身
  • SO 移除
  • 动态加载 SO

文章篇幅有限知识点图片就不做完全展示了;有需要这份 Android 性能优化手册 的朋友:可以私信发送 ”进阶“ 即可 直达获取

Android 性能优化手册目录:

改变人生,没有什么捷径可言,这条路需要自己亲自去走一走,只有深入思考,不断反思总结,保持学习的热情,一步一步构建自己完整的知识体系,才是最终的制胜之道,也是程序员应该承担的使命

Android 架构师之路还很漫长,与大家一同共勉

猜你喜欢

转载自blog.csdn.net/m0_70748845/article/details/127000288