刷到血赚!字节跳动内部出品:722页Android开发《360°全方面性能调优》学习手册首次外放,附项目实战!

前言

我们平时在使用软件的过程中是不是遇到过这样的情况:“这个 app 怎么还没下载完!”、“太卡了吧!”、“图片怎么还没加载出来!”、“怎么刚进去就卡了!”、“这怎么点了一下就退出了!”等等,这些情况其实包含了我们性能优化的主要内容。

性能的优化是一个老生常谈的点,也是一个比较重要的点。特别是诸多大厂在这方面尤为看重,毕竟就算0.1%的瑕疵,影响的讲师百万级,千万级的用户体验!

如果你已经有 2 - 3 年以上开发经验还不懂的怎么去优化自己的项目,那就有点说不过去了。

而且现在整个Android开发市场上对于高端性能优化人才更是供不应求。打开招聘网站,几乎所有大厂对于高工招聘的岗位要求第一条都是性能优化相关的要求。

如何学习性能优化

既然现在对于Android而言,性能优化已经变得如此重要或者说“吃香”,那么到底该如何系统的学习Android性能优化呢?

在这里分享给大家字节跳动内训专用《360°全方面性能调优》一共有721页,四个章节,25个小点,不仅仅有详细的底层原理的解析,还有专门的实践案例(第四章)。

第一章 设计思想与代码质量优化

六大原则

  • 单一职责原则
  • 里氏替换原则
  • 依赖倒转原则
  • 接口隔离原则
  • ……

设计模式:结构型模式

  • 桥接模式
  • 适配器模式
  • 装饰器模式
  • 代理模式
  • 门面(外观)模式
  • ……

设计模式:创建型模式

  • 建造者模式
  • 单例模式
  • 抽象工厂模式
  • 工厂方法模式
  • ……

数据结构

  • 队列
  • 链表
  • ……

算法

  • 排序算法
  • 查找算法
  • ……

第二章 程序性能优化

启动速度与执行效率优化

  • 冷启动和热启动解析
  • APP 启动黑白屏解决办法
  • APP 卡顿问题分析及解决方案
  • 启动速度与执行效率优化之 StrictMode
  • ……

布局检测与优化

  • 布局层级优化
  • 过度渲染
  • ……

内存优化

  • 内存抖动和内存泄漏
  • 内存大户
  • Bitmap 内存优化
  • Profile 内存监测工具
  • Mat 大对象与泄漏检测
  • 耗电优化
  • 网络传输与数据存储优化网络传输与数据存储优化
  • APK 大小优化
  • 屏幕适配
  • ……

耗电优化

  • Doze&Standby
  • Battery Historian
  • JobScheduler
  • WorkManager
  • 网络传输与数据存储优化
  • google 序列化工具 protobuf
  • 7z 极限压缩
  • ……

APK 大小优化

  • APK 瘦身
  • 微信资源混淆原理
  • ……

屏幕适配

  • 进行适配的原理
  • 屏幕分辨率限定符与 smallestWidth 限定符适配原理
  • 为什么选择 smallestWidth 限定符适配
  • 怎么适配其他 module
  • 常见问题处理
  • ……

OOM 问题原理解析

  • adj 内存管理机制
  • JVM 内存回收机制与 GC 算法解析
  • 生命周期相关问题总结
  • Bitmap 压缩方案总结
  • ……

ANR 问题解析

  • AMS 系统时间调节原理
  • 程序等待原理分析
  • ANR 问题解决方案
  • ……

Crash 监控方案

  • Java 层监控方案
  • Nativie 层监控方案
  • ……

第三章 开发效率优化

分布式版本控制系统 Git

  • 企业高效持续集成平台场景介绍
  • GIT 分布式版本控制系统
  • GIT 分支管理
  • ……

自动化构建系统 Gradle

  • Gradle 与 Android 插件
  • gradle 与 android gradle 插件的关系
  • Gradle Transform API 的基本使用
  • ……

Gradle Transform API 的基本使用

  • 什么是 Transform
  • Transform 的使用场景
  • Transform API 学习
  • 输入的类型
  • ……

自定义插件开发

  • Gradle 插件简介
  • 开始准备
  • 实践
  • 自定义 Gradle 插件
  • buildSrc 模块方式
  • ……

插件实战

  • 多渠道打包
  • 发版自动钉钉
  • ……

第四章 APP 性能优化实践

启动速度

  • 应用启动的一般流程
  • 冷启动和热启动
  • 启动速度的测量
  • 启动窗口优化
  • 线程优化
  • 系统调度优化
  • GC 优化
  • IO 优化
  • 资源重排
  • 主页布局优化
  • 类加载优化
  • 选择合适的启动框架
  • 减少 Activity 的跳转层次
  • 厂商优化
  • 后台保活
  • ……

流畅度

  • 性能问题分析的一些工具和套路
  • 通过性能数据数据分析
  • Android 平台性能导致的性能案例
  • Android App 自身导致的性能问题
  • 低内存的数据特征和行为特征
  • 应用宝
  • 讯飞输入法无障碍服务导致的整机卡顿分析
  • 字节跳动:今日头条图文详情页秒开实践
  • ……

抖音在 APK 包大小资源优化的实践

  • 图片压缩
  • webp 无侵入式兼容
  • 多 DPI 优化
  • 重复资源合并
  • shrinkResource 严格模式
  • 资源混淆(兼容 aab 模式)
  • ARSC 瘦身
  • ……

优酷响应式布局技术全解析

  • 优酷APP响应式布局技术概述
  • 优酷APP响应式布局Android落地
  • 在分发场景的落地
  • 在消费场景的落地
  • 优酷APP响应式布局之测试方案
  • ……

网络优化

  • 手机淘宝在网络的链路优化
  • 百度 APP 在网络深度优化的实践
  • ……

手机淘宝双十一性能优化项目揭秘

  • 一秒法则的实现
  • 启动时间和页面帧率提升 20%
  • Android 手机内存节省50%
  • ……

高德 APP 全链路源码依赖分析

  • 高德 APP 平台架构
  • 基础实现原理
  • 项目架
  • 应用场景及实现原理
  • ……

彻底干掉OOM的实战经验分享

  • 排查内存泄漏
  • 兜底策略
  • 内存峰值太高
  • 特大图排查优化
  • ……

微信 Android终端内存优化实践

  • Activity 泄露检测
  • Bitmap 分配及回收追踪
  • Native 内存泄漏检测
  • 线程监控
  • 内存监控
  • ……

总结

像字节跳动这种体量的互联网公司,在技术上是必须经过千锤百炼的,只有追求顶级的技术水平才能在这个技术为王的互联网世界屹立不倒。自然,这份“360°全方面性能调优”肯定也是经得起大家的推敲的高质量学习笔记。

如果你也想提升自己的性能优化技术,我觉得这份笔记你必定不能错过。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部