随着 Systrace 的功能越来越完善,加上 Android 版本的更迭,之前写的 Systrace 系列教程已经有点过时;另外随着自己技能的完善,从 Systrace 里挖掘了更多的信息,对解决各种性能问题很有帮助。这些技能我需要记录下来,增强自己的总结和归纳的能力,如果能帮助到看文章的人,也是极好的
本系列的目的是通过 Systrace 这个工具,从另外一个角度来看待 Android 系统整体的运行,同时也从另外一个角度来对 Framework 进行学习。也许你看了很多讲 Framework 的文章,但是总是记不住代码,或者不清楚其运行的流程,也许从 Systrace 这个图形化的角度,你可以理解的更深入一些。
系列文章目录
本篇文章是一个目录,之后的文章更新后,会在这里进行汇总,内容如下:
- Systrace 简介
- Systrace 基础知识 - Systrace 预备知识
- Systrace 基础知识 - Why 60 fps ?
- Systrace 基础知识 - SystemServer 解读
- Systrace 基础知识 - SurfaceFlinger 解读
- Systrace 基础知识 - Input 解读
- Systrace 基础知识 - Vsync 解读
- Systrace 基础知识 - Vsync-App :基于 Choreographer 的渲染机制详解
- Systrace 基础知识 - MainThread 和 RenderThread 解读
- Systrace 基础知识 - Binder 和锁竞争解读
- Systrace 基础知识 - Triple Buffer 解读
- Systrace 基础知识 - CPU Info 解读
- Systrace 流畅性实战 1 :了解卡顿原理
- Systrace 流畅性实战 2 :案例分析: MIUI 桌面滑动卡顿分析
- Systrace 流畅性实战 3 :卡顿分析过程中的一些疑问
- Systrace 响应速度实战 1 :了解响应速度原理
- Systrace 响应速度实战 2 :响应速度实战分析-以启动速度为例
- Systrace 响应速度实战 3 :响应速度延伸知识
- Systrace 线程 CPU 运行状态分析技巧 - Runnable 篇
- Systrace 线程 CPU 运行状态分析技巧 - Running 篇
- Systrace 线程 CPU 运行状态分析技巧 - Sleep 和 Uninterruptible Sleep 篇
目录暂定这么多,后续如果在写作的时候,有更新或者删减,都会在这里进行更新,本篇文章也会置顶一段时间
2023-10 update:
开始准备 Perfetto 系列
面向读者群
本系列的文章既适用于应用开发者,也适用于系统开发者,我会在写作的时候兼顾两者。作为一名系统开发者,我大概理了一下我的优势:
- 有系统源码,可以很方便地进行调试和修改代码,并随时在手机上看到结果
- 对系统框架有一定的了解
- 对系统调优有一定的了解
基于上面几点,我在写作的时候也会利用这些优势,给大家带来不太一样的:
- 通过 Systrace 来学习 Android Framework
- 修改某些系统配置,让大家看看结果:比如 Buffer 个数对应用的影响
- 介绍一些系统厂商在做系统的时候的考虑和取舍
- 介绍一些应用开发时候你不会注意但是很重要的点
更新日志
计划是每周更新一篇,给自己一个目标 ,给自己一个交代吧。
- 2018-03-30 目录更新:Systrace 系列文章目录
- 2018-04-01 更新文章:Systrace 基础知识 - Why 60 fps ?
- 2019-07-23 更新文章:Systrace 基础知识 - Systrace 预备知识
- 2019-10-22 更新问题:Systrace 基础知识 - Vsync-App :基于 Choreographer 的渲染机制详解
- 2019-11-04 更新文章:Systrace 基础知识 - Input 解读
- 2019-11-06 更新文章:Systrace 基础知识 - MainThread 和 RenderThread 解读
- 2019-12-01 更新文章:Systrace 基础知识 - Vsync 解读
- 2019-12-06 更新文章: Systrace 基础知识 - Binder 和锁竞争解读
- 2019-12-15 更新文章:Systrace 基础知识 - Triple Buffer 解读
- 2019-12-21 更新文章:Systrace 基础知识 - CPU Info 解读
- 2020-02-04 更新文章:Systrace 基础知识 - SystemServer 解读
- 2020-02-14 更新文章:Systrace 基础知识 - SurfaceFlinger 解读
- 2021-04-24 更新文章:Systrace 流畅性实战 1 :了解卡顿原理
- 2021-04-24 更新文章:Systrace 流畅性实战 2 :案例分析: MIUI 桌面滑动卡顿分析
- 2021-04-24 更新文章:Systrace 流畅性实战 3 :卡顿分析过程中的一些疑问
- 2021-10-28 更新文章:Systrace 响应速度实战 1 :了解响应速度原理
- 2021-10-28 更新文章:Systrace 响应速度实战 2 :响应速度实战分析-以启动速度为例
- 2021-10-28 更新文章:Systrace 响应速度实战 3 :响应速度延伸知识
关于我 && 博客
下面是个人的介绍和相关的链接,期望与同行的各位多多交流,三人行,则必有我师!
- 博主个人介绍 :里面有个人的微信和微信群链接。
- 本博客内容导航 :个人博客内容的一个导航。
- 个人整理和搜集的优秀博客文章 - Android 性能优化必知必会 :欢迎大家自荐和推荐 (微信私聊即可)
- Android性能优化知识星球 : 欢迎加入,多谢支持~
一个人可以走的更快 , 一群人可以走的更远