本博客内容主要集中在 Android 开发和优化相关的话题,包括一些性能工具的使用、Android App 优化知识、Android Framework 知识讲解,性能理论知识讲解等,这里整理了一份目录供大家参考,大家可以挑感兴趣的部分来看。这里不仅仅包含博客中的内容,一些我在 知乎 或者 知识星球 - The Performance 的回答也会放到这里,不过这个目录里面放的都是我原创的博客,另外还收集了一些优秀文章,我也会不定期更新 Android 性能优化必知必会。
博客的每次更新都会更新这篇目录,方便大家查阅。我会尽量保证每周一更,学无止境,与大家共勉,有什么想了解的或者博客中不足的地方,请大家在博客或者知乎、微博、微信留言给我,我会积极改正。
理论知识
Perfetto 系列
- Perfetto 系列目录
- Android Perfetto 系列 1:Perfetto 工具简介
- Android Perfetto 系列 2:Perfetto Trace 抓取
- Android Perfetto 系列 3:熟悉 Perfetto View
- 视频(B站) - Android Perfetto 基础和案例分享
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 解读
- Systrace 流畅性实战 1 :了解卡顿原理
- Systrace 流畅性实战 2 :案例分析: MIUI 桌面滑动卡顿分析
- Systrace 流畅性实战 3 :卡顿分析过程中的一些疑问
- Systrace 响应速度实战 1 :了解响应速度原理
- Systrace 响应速度实战 2 :响应速度实战分析-以启动速度为例
- Systrace 响应速度实战 3 :响应速度延伸知识
- Systrace 线程 CPU 运行状态分析技巧 - Runnable 篇
- Systrace 线程 CPU 运行状态分析技巧 - Running 篇
- Systrace 线程 CPU 运行状态分析技巧 - Sleep 和 Uninterruptible Sleep 篇
流畅性
流畅性主要指的是卡顿、掉帧,对应的英文是 Smooth vs Jank
- Android 中的卡顿丢帧原因概述 - 方法论
- Android 中的卡顿丢帧原因概述 - 系统篇
- Android 中的卡顿丢帧原因概述 - 应用篇
- Android 中的卡顿丢帧原因概述 - 低内存篇
- 关于 Android 系统流畅性的一些思考
- 新的流畅体验,90Hz 漫谈
- Android性能优化之过渡绘制(一)
- Android性能优化之过渡绘制( 二)
- Android性能优化后续
- 华为手机刷微博体验更好?技术角度的一些分析和思考
响应速度
响应速度主要指的是 App 冷热启动、界面跳转速度、亮灭屏速度等,对应的英文是 Fast vs Slow
- Android App 启动优化全记录
- 知乎 救救你的 StartingWindow
- Android 中如何计算 App 的启动时间?
- Android 应用启动优化:一种 DelayLoad 的实现和原理(上篇)
- Android 应用启动优化:一种 DelayLoad 的实现和原理(下篇)
内存
主要记录 Android 内存优化相关的知识和工具,以及对系统的影响
- Android 中低内存对性能的影响
- Android 系统不释放内存吗?
- Android 代码内存优化建议-Android 资源篇
- Android 代码内存优化建议-Android 官方篇
- Android 代码内存优化建议-Java 官方篇
- Android 内存优化之一:MAT 使用入门
- Android内存优化之二:MAT使用进阶
- Android内存优化之三:打开MAT中的Bitmap原图
Framework 知识
博客中 Framework 相关的内容会集中在这里,包括一些 Framework 的运行原理、Framework 问题的解题思路、Framework 优化方法等
- 当 App 有了系统权限,真的可以为所欲为?
- Android 中的“后台无效动画“行为分析
- Android 框架问题分析案例 - 谁杀了桌面?
- Android 中的 Activity Launch Mode 详解
- Android 中的 Hardware Layer 详解
- Android 平台应用宝和讯飞输入法无障碍服务导致的全局卡顿分析
- 从用户角度来理解 Android 应用的状态
- Android hwui 中 RenderThread 工作流程
- HashMap 源码分析
- 细说Java单例模式
- Android 系统开发源码环境搭建
- Android App 链式唤醒分析
- 一个「闰」字引发的事故 - 三星系统重启分析
- Android 系统开发系列(1):Android 12 源代码下载、编译和刷机
App 开发
这里主要记录一些 App 开发相关的博文,由于写的比较早,大家随便看一下就可以了
- Android Bottom navigation 规范一:使用方法
- Android Bottom navigation 规范二:样式、行为与规格
- Android Service:开发自己的通知中心(1):辅助性服务介绍
- Android Service:开发自己的通知中心(2):辅助性服务实战
- Android开发:Log2File工具类
- Android:Ubuntu下执行Adb命令找不到设备
- Android小技巧:如何让EditText不自动获取焦点
个人总结和好物推荐
与技术无关,但是可以提高幸福感和工作效率
- 2023 年的方方面面
- 回顾 2021
- 我是 Gracker,这是我的利器
- Gracker 的 2018 年度最推荐 - 给辛勤工作的自己一点奖励
- 陆奇:除了好代码,工程师怎样才算优秀?
- 2017 年度最推荐 - 给辛勤工作的自己一点奖励
- 关于 2017
- Android 开发者学习路线(2020 版本)
- 我的 2020 年读书单
读书笔记
- 一本讲 Android 流畅性的书,应该有什么内容?
- 程序员的修炼-01:绝地反击之术
- 程序员的修炼-02:编程之道
- 程序员的修炼-03:Web 设计原则
- 程序员的修炼-04:关于测试的一些思考
- 程序员的修炼-05:了解你的用户
- 程序员的修炼-06:互联网那些事
- 程序员的修炼-07:游戏与编程
- 程序员的修炼-08:阅读之美
性能优化典范和 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
知乎问答
知乎专栏会搬运一部分文章,这里只贴一些高赞的回答
- 个人知乎主页 ,欢迎大家点赞关注
- 如何看待小米部分机型运行《王者荣耀》时两个大核被锁
- Flyme 5 相对于 Flyme 4 流畅得脱胎换骨,其中根本的变化是什么?
- Android 系统不释放内存吗?
- 了解Android的Framework层对工作有什么帮助吗?
- 怎么看待三星大量手机在今天(5.23)凌晨系统崩溃并数据丢失?
Android Weekly
NewsLetter 地址 :https://androidweekly.zhubai.love/ , 推荐使用 邮箱 或者 微信订阅
知乎专栏地址 :Android Weekly , 欢迎大家点赞收藏
个人页
个人演讲 && 培训 PPT
这一部分整理之后会放出来,不过大家都知道,演讲或者培训的时候,PPT 里面不会有太多的东西,多数只是一个大纲
知识星球
知识星球名为 The Performance,一个分享 Android 开发领域性能优化相关的圈子,主理人是博主自己,国内一线手机厂商性能优化方面的一线开发者,有多年性能相关领域的知识积累和案例分析经验,可以提供性能、功耗分析知识的一站式服务,涵盖了基础、方法论、工具使用和最宝贵的案例分析。