以组织或人为单位的教程资源
- Android 官方教程
- 关于性能优化的培训,中文翻译
- Android Developers Android 官方开发者频道
- Android 官方性能优化话题
- 微信终端开发团队博客,公众号 WeMobileDev ,也可访问腾讯云专栏
- Facebook Android 专栏
- 《性能之巅》作者 Brendan D.Gregg 的网站
- ClassShark 作者 Boris Farber 的个人网站
- Weishu's Notes 维术博客文章很精彩,对虚拟机、插件化研究的很深入
- androidperformance 博客文章目录
- markzhai's home BlockCanary 作者的博客
- Trinea 的性能优化系列文章
- Deep into Android 里面源码剖析和性能总结文章不错
相关书籍
- 《性能之巅:洞悉系统、企业与云计算》 Linux 系统优化必看的书,Andoid 开发者可从中借鉴性能优化工具和思路
- 《Android移动性能实战》 腾讯SNG专项测试团队 2017 年出的性能优化案例集锦,基本都是手Q、手空和 QQ音乐的实际例子
- 《移动App性能评测与优化》 腾讯TMQ专项测试团队 2016 年出的实战案例精选,还讲了 GT 的使用
- 《高性能Android应用开发》 AT&T 开发者计划中的性能推广领导者 Doug Sillars 2016 年出的书,涉及面广,值得一看
- 《Android应用性能优化》 联发科员工 2012 年写的书,其中的 jni 相关优化还是很有用的
- 《深入探索Android热修复技术原理》 阿里 Android 热修复方案 Sophix 背后的原理,对理解 Android 虚拟机很有帮助,大型 app 的性能优化难免涉及热修复
- 《Android插件化开发指南》 大型 app 的性能优化难免涉及插件化,老包的这本书可以帮助你了解 Android 插件化基础
- 《Web性能权威指南》 谷歌高性能团队核心成员写的书,网络方向的优化必看
- 《程序员的自我修养:链接、装载与库》 讲述代码编译之后是如何链接的,做 native 优化必看
- 《深入理解计算机系统》 性能优化是一个系统工程,了解计算机系统如何设计和工作很有必要
视频教程
- Android 性能优化典范 1-6 季,中文翻译
- 极客时间 Android开发高手课 前微信高级工程师 和 Tinker负责人讲解如何做性能优化,教程质量很高
- 极客时间 深入浅出计算机组成原理
- 极客时间 性能工程高手课
- Matrix 微信团队开源的应用性能接入框架
- ArgusAPM 360 开源的移动性能监控项目
- LeakCanary square 开源的内存泄漏监控
- BlockCanaryEx 基于 BlockCanary ,记录主线程中执行的所有方法和它们的执行时间
- DroidTelescope
- ANR-WatchDog 检测 ANR 并抛出有意义的堆栈
- Redex Facebook 开源的 Android 字节码优化类库
- Hardcoder 微信开源的 Android APP 与系统间的通信解决方案,可以让 APP 充分调度系统资源来提升 APP 性能
- Booster 滴滴开源的质量优化框架
- Alpha 阿里开源的基于PERT图构建的Android异步启动框架,启动优化时可参考
- Anchors 支持同异步依赖任务初始化 Android 启动框架
- ADI 通过 JVMTI 实现的 Android 应用开发调试的增强工具集
- AndroidGodEye 携程工程师开源类库,可以在PC浏览器中实时监控Android性能数据指标
- DoraemonKit 滴滴开源的常用开发工具集应用,里面的性能检测部分值得借鉴
- AndroidDevMetrics Android 性能度量,可用于排查一些性能问题
- MethodTraceMan 通过插桩统计方法耗时,解决Android App卡顿问题
- Pury 基于注解的耗时方法监控
- nanoscope uber 开源的精确的方法统计工具
- Battery-Metrics Facebook 开源的电量监控
- profilo Facebook 开源的性能检测工具,里面有个 plthook 的实现方案还不错
- PreLoader 预加载数据框架
- ThreadDebugger 线程监控
- TraceView
- SysTrace
- Android Profiler
- Hierarchyviewer
- MAT (Memory Analysis Tool)
- Simpleperf
- 如何读懂火焰图? 阮一峰把火焰图讲解得很清楚
- Flame Graphs 火焰图官方
- StrictMode
- Oprofile
性能优化文章集合贴
- Android 性能优化必知必会 收集了 Android 业界很多性能优化资料,值得慢慢消化
- Awesome-Android-Performance JsonChao 按性能各方向综述了市面上各种优化思路
- awesome-android-performance Juude 整理的性能优化视频和文章
- awesome-android-complete-reference Android 教程文章集合,里面有性能优化部分的文章可参考
性能方法论
- 如何回答性能优化的问题,才能打动阿里面试官?
- Data science for mobile OS system optimization
- 性能优化模式 性能优化的原则、反模式、模式...这个思路很不错,虽然是在java服务端,但迁移到 Android 端也适用
- “性能问题终结者”Olympic,解决用户痛点背后的秘密是...... 手淘性能定位系统 Olympic
- 剖析应用性能 Android 官方教程,介绍如何使用工具定位性能问题
性能优化经验
- 加速你的 Android 应用 国外程序员优化经验,还有配套视频,主要介绍 systrace 等工具使用
- Android性能优化来龙去脉总结 鹅厂程序员总结性能优化
- 移动端性能监控方案Hertz 美团性能监控方案 Hertz 简介
启动速度 & 页面打开速度
- 抖音BoostMultiDex优化实践:Android低版本上APP首次启动时间减少80%(一) 从 Android Dalvik 机制入手,解决安装后首次执行 MultiDex 耗时过长问题
- 抖音BoostMultiDex优化实践:Android低版本上APP首次启动时间减少80%(二)
- 支付宝 App 构建优化解析:通过安装包重排布优化 Android 端启动性能 对支付宝 Android Apk 文件进行重新布局,来改善 IO 性能,从而提升启动速度
- Redex 初探与 Interdex:Andorid 冷启动优化 插桩与调整类分布互斥
- 抖音研发实践:基于二进制文件重排的解决方案 APP启动速度提升超15% 抖音iOS二进制文件的重新,Android 启动重排可参考
- 滴滴DoKit Android核心原理揭秘之函数耗时 滴滴开源类库 DoraemonKit 中函数耗时插桩原理:gradle 插件 + ASM + Transform
- DoKit支持Activity启动耗时统计方案 滴滴开源类库 DoraemonKit 统计页面打开耗时的原理
- 手淘全链路性能优化(上) 手淘启动速度优化相关技术:启动框架,网络链路优化,自动化测试
- 手淘全链路性能优化下篇--容器极速之路 手淘容器化页面如 H5 及 Weex 相关的优化实践
- Android App 启动优化全记录 汇集多篇大厂文章的启动思路
- Facebook MobileLab:防止性能退化的高精测试 性能防退化思路值得参考
- 支付宝客户端架构解析:Android 客户端启动速度优化之「垃圾回收」 启动时 GC 抑制,允许堆一直增长,直到开发人员主动停止
- Android性能优化之虚拟机调优 启动过程中 GC 抑制的原理,可与上面支付宝的那篇对照着看
- Android App 启动优化全记录 汇总了市面上大部分启动优化思路
- 今日头条启动很快,你觉得可能是做了哪些优化?
流畅 & 卡顿优化
- Matrix TraceCanary -- 初恋·卡顿 微信 Matrix 卡顿监控原理
- 手Q Android线程死锁监控与自动化分析实践 通过上报系统产生的 Traces.txt 和自动化分析实现线程死锁监控
- Android UI 性能优化 Google IO 2017上的视频的翻译,值得一看
- 微信读书(Android)阅读引擎卡顿监控测试
- 见微知著,Google Photos Web UI 完善之旅
- Android 无障碍服务导致的整机卡顿案例分析
- 识别与抖动相关的卡顿
- 那些年我们用过的显示性能指标
- Android 中的卡顿丢帧原因概述-方法论 同系列文章还有应用篇和系统篇 ,内有很多案例可参考
- 一线大厂资深APP性能优化系列-卡顿定位 介绍了traceView的四个视图:Call Chart,Flame Chart,Top Down,Bottom Up
内存
- 微信 Android 终端内存优化实践 介绍微信内存优化思路,其中包含微信 Matrix 的 ResourceCanary 等多种内存检测手段
- 手Q Android缓存监控与优化实践 监控图片缓存和业务对象缓存,清理ClassLoader引用的内存和系统预加载图片缓存
- 内存泄露从入门到精通三部曲之常见原因与用户实践
- 优化安卓应用内存的神秘方法以及背后的原理,一般人我不告诉他 主动收紧内存背后的原理
- Android O的ART在性能方面的改进简介 17 年 IO 视频的翻译,介绍了 Android 7.0 热点代码(对启动优化很有帮助)和 GC 方面的改进
- Android性能优化之内存优化 网友整理的内存优化知识点算是很全了
- 分析并优化 Android 应用内存占用 Google Android Runtime 开发工程师 Rechard Uhler 的内存优化经验视频的翻译
- Android 内存泄漏分析心得 手空内存泄漏监控与分析案例
- Probe:Android线上OOM问题定位组件 美团 OOM 监控框架介绍,可定位线上Java堆内存不足、FD泄漏以及线程溢出的等OOM问题
- Bitmap优化详谈
- 看完这篇文章,至少解决 APP 中 90 % 的内存异常问题
包体积
- 抖音包大小优化-资源优化
- zip 文件格式说明 apk 其实就是 zip 格式,了解 zip 文件格式很有必要
耗电
- Android battery and memory optimizations Google I/O 2016 关于电池和内存优化的视频
- Android应用耗电量的统计分析方法和工具
- Android功耗改进 Android 5.0 ~ 8.0 对功耗方面的改进
存储 & IO
- Matrix IOCanary -- I/O 质量监控 微信 Matrix IO 监控原理
- Android 中 SQLite 性能优化
系统优化