不仅是阿里,还有腾讯、字节跳动、爱奇艺等大厂,小厂也是,都非常重视这个问题,在面试中,如果这个方向表现优异,你将会很值钱。
本文针对“性能优化”这个技术点,献上一份 Android性能优化的详细攻略,从各个方面对目标产品进行全方位的“优化”,让产品的性能从各个方面得到提升,希望对大家的学习和工作有所帮助。
App性能优化提要:
性能优化知识技能策略详解
============
性能优化这个点的知识要想讲明白篇幅会比较长,鉴于篇幅原因,我这里直接把详解部分整理成了一个章节,包括App启动优化、内存优化…等等一些分类完成的技术知识点。另外还有Android高级进阶必备的一些技术栈的整理。不仅仅有详细的底层原理的解析,还有专门的实践案例
需要的朋友,可以【点击此处加入】,即可查看获取这份资料的完整版;
第一章 设计思想与代码质量优化
-
六大原则(单一职责原则、里氏替换原则、依赖倒转原则、接口隔离原则……)
-
设计模式:结构型模式(桥接模式、适配器模式、装饰器模式、代理模式、门面(外观)模式……),创建型模式(建造者模式、单例模式、抽象工厂模式、工厂方法模式……)
-
数据结构(数组、栈、队列、链表、树……)
-
算法(排序算法、查找算法……)
第二章 程序性能优化
-
启动速度与执行效率优化(冷启动和热启动解析、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 内存泄漏检测、线程监控、内存监控……)
略、内存峰值太高、特大图排查优化……)
- 微信 Android终端内存优化实践(Activity 泄露检测、Bitmap 分配及回收追踪、Native 内存泄漏检测、线程监控、内存监控……)