不仅是阿里,还有腾讯、字节跳动、爱奇艺等大厂,小厂也是,都非常重视这个问题,在面试中,如果这个方向表现优异,你将会很值钱。
本文针对“性能优化”这个技术点,献上一份 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 性能优化实践
流畅度(性能问题分析的一些工具和套路、通过性能数据数据分析、Android 平台性能导致的性能案例、Android App 自身导致的性能问题、低内存的数据特征和行为特征、应用宝、讯飞输入法无障碍服务导致的整机卡顿分析、字节跳动:今日头条图文详情页秒开实践……)
抖音在 APK 包大小资源优化的实践(图片压缩、webp 无侵入式兼容、多 DPI 优化、重复资源合并、shrinkResource 严格模式、资源混淆(兼容 aab 模式)、ARSC 瘦身……)
网络优化(手机淘宝在网络的链路优化、百度 APP 在网络深度优化的实践……)
手机淘宝双十一性能优化项
目揭秘(一秒法则的实现、启动时间和页面帧率提升 20%、Android 手机内存节省50%……)
高德 APP 全链路源码依赖分析(高德 APP 平台架构、基础实现原理、项目架构、应用场景及实现原理……)
彻底干掉OOM的实战经验分享(排查内存泄漏、兜底策略、内存峰值太高、特大图排查优化……)
微信 Android终端内存优化实践(Activity 泄露检测、Bitmap 分配及回收追踪、Native 内存泄漏检测、线程监控、内存监控……)
略、内存峰值太高、特大图排查优化……)