1. Android 性能参考资料
[toc]
1.1. Google官方
1.2. 性能优化典范
- Android性能优化典范 - 第1季
- Android性能优化典范 - 第2季
- Android性能优化典范 - 第3季
- Android性能优化典范 - 第4季
- Android性能优化典范 - 第5季
- Android性能优化典范 - 第6季
- Android性能优化之内存篇
1.3. 内容精选
- Android内存优化大盘点
- 吹爆系列:深入探索Android卡顿优化
- 吹爆系列:深入探索Android布局优化大科普
- 吹爆系列:深入探索 Android 包体积优化
- 吹爆系列:深入探索Android稳定性优化
- 几乎包含了市面上所有启动优化方案
- 面试官:今日头条启动很快,你觉得可能是做了哪些优化?
- 抖音BoostMultiDex优化实践:Android低版本上APP首次启动时间减少80%(一)
- 抖音BoostMultiDex优化实践:Android低版本上APP首次启动时间减少80%(二)
- 开源 | BoostMultiDex:挽救 Android Dalvik 机型APP升级安装体验
1.4. 参考文章
- LeakCanary原理分析
- BlockCanary — 轻松找出Android App界面卡顿元凶
- Android Profiler
- Android内存优化之OOM
- Android探究oom内幕
- Android内存管理原理
- Android性能调优
- 性能优化之Java(Android)代码优化
- 性能优化之布局优化
- 性能优化之数据库优化
- 常见的内存泄漏原因及解决方法
- Android进程的内存管理分析
- Android内存的全面分析-让你吃透
- Android内存优化:常见内存泄露及优化方案
- Android内存泄漏终极解决篇
- 5个导致主线程卡顿较鲜为人知的元凶
- Android抽象布局——include、merge 、ViewStub
- Performance Tuning On Android
- BlockCanary — 轻松找出Android App界面卡顿元凶
- Android 性能优化必知必会
- Android性能优化典范
- Android性能优化典范
- Systrace 基础知识
- ANDROID内存优化(大汇总——上)
- ANDROID内存优化(大汇总——中)
- ANDROID内存优化(大汇总——全)
1.5. 性能测试
1.6. Systrace 系列
Systrace 工具是分析 Android 性能问题的利器,它可以从一个图形的角度,来展现整机的运行情况。Systrace 工具不仅可以分析性能问题,用它来进行 Framework 的学习也是很好的,这也是我写本系列文章的一个原因
- Systrace 简介
- Systrace 基础知识 - Systrace 预备知识
- Systrace 基础知识 - Why 60 fps ?
- Systrace 基础知识 - SystemServer 解读
- Systrace 基础知识 - Input 解读
- Systrace 基础知识 - Vsync 产生与工作机制解读
- Systrace 基础知识 - Vsync-App :基于 Choreographer 的渲染机制详解
- Systrace 基础知识 - MainThread 和 RenderThread 解读
- Systrace 基础知识 - Binder 和锁竞争解读
- Systrace 基础知识 - Triple Buffer 解读
- Systrace 基础知识 - CPU Info 解读
- Systrace 基础知识 - SystemServer 解读
- Systrace 基础知识 - SurfaceFlinger 解读
1.7. 流畅性
流畅性主要指的是卡顿、掉帧,对应的英文是 Smooth vs Jank
- Android 中的卡顿丢帧原因概述 - 方法论
- Android 中的卡顿丢帧原因概述 - 系统篇
- Android 中的卡顿丢帧原因概述 - 应用篇
- Android 中的卡顿丢帧原因概述 - 低内存篇
- 关于 Android 系统流畅性的一些思考
- 新的流畅体验,90Hz 漫谈
- Android性能优化之过渡绘制(一)
- Android性能优化之过渡绘制( 二)
- Android性能优化后续
- 华为手机刷微博体验更好?技术角度的一些分析和思考
1.8. 响应速度
响应速度主要指的是 App 冷热启动、界面跳转速度、亮灭屏速度等,对应的英文是 Fast vs Slow
- Android App 启动优化全记录
- 知乎 救救你的 StartingWindow
- Android 中如何计算 App 的启动时间?
- Android 应用启动优化:一种 DelayLoad 的实现和原理(上篇)
- Android 应用启动优化:一种 DelayLoad 的实现和原理(下篇)
1.9. 内存
主要记录 Android 内存优化相关的知识和工具,以及对系统的影响
- Android 中低内存对性能的影响
- Android 系统不释放内存吗?
- Android 代码内存优化建议-Android 资源篇
- Android 代码内存优化建议-Android 官方篇
- Android 代码内存优化建议-Java 官方篇
- Android 内存优化之一:MAT 使用入门
- Android内存优化之二:MAT使用进阶
- Android内存优化之三:打开MAT中的Bitmap原图
1.10. Framework 知识
博客中 Framework 相关的内容会集中在这里,包括一些 Framework 的运行原理、Framework 问题的解题思路、Framework 优化方法等
- Android 中的“后台无效动画“行为分析
- Android 框架问题分析案例 - 谁杀了桌面?
- Android 中的 Activity Launch Mode 详解
- Android 中的 Hardware Layer 详解
- Android 平台应用宝和讯飞输入法无障碍服务导致的全局卡顿分析
- 从用户角度来理解 Android 应用的状态
- Android hwui 中 RenderThread 工作流程
- HashMap 源码分析
- 细说Java单例模式
- Android 系统开发源码环境搭建
- Android App 链式唤醒分析
- 一个「闰」字引发的事故 - 三星系统重启分析
1.11. App 开发
这里主要记录一些 App 开发相关的博文,由于写的比较早,大家随便看一下就可以了
- Android Bottom navigation 规范一:使用方法
- Android Bottom navigation 规范二:样式、行为与规格
- Android Service:开发自己的通知中心(1):辅助性服务介绍
- Android Service:开发自己的通知中心(2):辅助性服务实战
- Android开发:Log2File工具类
- Android:Ubuntu下执行Adb命令找不到设备
- Android小技巧:如何让EditText不自动获取焦点
1.12. 读书笔记
- 程序员的修炼-01:绝地反击之术
- 程序员的修炼-02:编程之道
- 程序员的修炼-03:Web 设计原则
- 程序员的修炼-04:关于测试的一些思考
- 程序员的修炼-05:了解你的用户
- 程序员的修炼-06:互联网那些事
- 程序员的修炼-07:游戏与编程
- 程序员的修炼-08:阅读之美
1.13. 性能优化典范和 Tips
性能优化典范是 Google 出品的一系列性能相关的短视频,总共出了 6 季,之前想的是每一集都来一个文章配合,后面发现不是很现实;Android Tips 则是翻译的另外一个博主的文章
- Android性能优化典范综述
- Android性能优化典范之Render Performance
- Android性能优化典范之Understanding Overdraw
- Android性能优化典范之Understanding VSYNC
- Android性能优化典范之Profile GPU Rendering
- Android Tips 1
- Android Tips 2
- Android Tips 3
- Android Tips 4
- Android Tips 5