Android Performance

Android Systrace -- 系列文章目录

Word count: 1.3kReading time: 4 min
2019/05/26
loading

随着 Systrace 的功能越来越完善,加上 Android 版本的更迭,之前写的 Systrace 系列教程已经有点过时;另外随着自己技能的完善,从 Systrace 里挖掘了更多的信息,对解决各种性能问题很有帮助。这些技能我需要记录下来,增强自己的总结和归纳的能力,如果能帮助到看文章的人,也是极好的

本系列的目的是通过 Systrace 这个工具,从另外一个角度来看待 Android 系统整体的运行,同时也从另外一个角度来对 Framework 进行学习。也许你看了很多讲 Framework 的文章,但是总是记不住代码,或者不清楚其运行的流程,也许从 Systrace 这个图形化的角度,你可以理解的更深入一些。

系列文章目录

本篇文章是一个目录,之后的文章更新后,会在这里进行汇总,内容如下:

  1. Systrace 简介
  2. Systrace 基础知识 - Systrace 预备知识
  3. Systrace 基础知识 - Why 60 fps ?
  4. Systrace 基础知识 - SystemServer 解读
  5. Systrace 基础知识 - SurfaceFlinger 解读
  6. Systrace 基础知识 - Input 解读
  7. Systrace 基础知识 - Vsync 解读
  8. Systrace 基础知识 - Vsync-App :基于 Choreographer 的渲染机制详解
  9. Systrace 基础知识 - MainThread 和 RenderThread 解读
  10. Systrace 基础知识 - Binder 和锁竞争解读
  11. Systrace 基础知识 - Triple Buffer 解读
  12. Systrace 基础知识 - CPU Info 解读
  13. Systrace 流畅性实战 1 :了解卡顿原理
  14. Systrace 流畅性实战 2 :案例分析: MIUI 桌面滑动卡顿分析
  15. Systrace 流畅性实战 3 :卡顿分析过程中的一些疑问
  16. Systrace 响应速度实战 1 :了解响应速度原理
  17. Systrace 响应速度实战 2 :响应速度实战分析-以启动速度为例
  18. Systrace 响应速度实战 3 :响应速度延伸知识
  19. Systrace 线程 CPU 运行状态分析技巧 - Runnable 篇
  20. Systrace 线程 CPU 运行状态分析技巧 - Running 篇
  21. Systrace 线程 CPU 运行状态分析技巧 - Sleep 和 Uninterruptible Sleep 篇

目录暂定这么多,后续如果在写作的时候,有更新或者删减,都会在这里进行更新,本篇文章也会置顶一段时间

2023-10 update:

开始准备 Perfetto 系列

面向读者群

本系列的文章既适用于应用开发者,也适用于系统开发者,我会在写作的时候兼顾两者。作为一名系统开发者,我大概理了一下我的优势:

  1. 有系统源码,可以很方便地进行调试和修改代码,并随时在手机上看到结果
  2. 对系统框架有一定的了解
  3. 对系统调优有一定的了解

基于上面几点,我在写作的时候也会利用这些优势,给大家带来不太一样的:

  1. 通过 Systrace 来学习 Android Framework
  2. 修改某些系统配置,让大家看看结果:比如 Buffer 个数对应用的影响
  3. 介绍一些系统厂商在做系统的时候的考虑和取舍
  4. 介绍一些应用开发时候你不会注意但是很重要的点

更新日志

计划是每周更新一篇,给自己一个目标 ,给自己一个交代吧。

  1. 2018-03-30 目录更新:Systrace 系列文章目录
  2. 2018-04-01 更新文章:Systrace 基础知识 - Why 60 fps ?
  3. 2019-07-23 更新文章:Systrace 基础知识 - Systrace 预备知识
  4. 2019-10-22 更新问题:Systrace 基础知识 - Vsync-App :基于 Choreographer 的渲染机制详解
  5. 2019-11-04 更新文章:Systrace 基础知识 - Input 解读
  6. 2019-11-06 更新文章:Systrace 基础知识 - MainThread 和 RenderThread 解读
  7. 2019-12-01 更新文章:Systrace 基础知识 - Vsync 解读
  8. 2019-12-06 更新文章: Systrace 基础知识 - Binder 和锁竞争解读
  9. 2019-12-15 更新文章:Systrace 基础知识 - Triple Buffer 解读
  10. 2019-12-21 更新文章:Systrace 基础知识 - CPU Info 解读
  11. 2020-02-04 更新文章:Systrace 基础知识 - SystemServer 解读
  12. 2020-02-14 更新文章:Systrace 基础知识 - SurfaceFlinger 解读
  13. 2021-04-24 更新文章:Systrace 流畅性实战 1 :了解卡顿原理
  14. 2021-04-24 更新文章:Systrace 流畅性实战 2 :案例分析: MIUI 桌面滑动卡顿分析
  15. 2021-04-24 更新文章:Systrace 流畅性实战 3 :卡顿分析过程中的一些疑问
  16. 2021-10-28 更新文章:Systrace 响应速度实战 1 :了解响应速度原理
  17. 2021-10-28 更新文章:Systrace 响应速度实战 2 :响应速度实战分析-以启动速度为例
  18. 2021-10-28 更新文章:Systrace 响应速度实战 3 :响应速度延伸知识

关于我 && 博客

下面是个人的介绍和相关的链接,期望与同行的各位多多交流,三人行,则必有我师!

  1. 博主个人介绍 :里面有个人的微信和微信群链接。
  2. 本博客内容导航 :个人博客内容的一个导航。
  3. 个人整理和搜集的优秀博客文章 - Android 性能优化必知必会 :欢迎大家自荐和推荐 (微信私聊即可)
  4. Android性能优化知识星球 : 欢迎加入,多谢支持~

一个人可以走的更快 , 一群人可以走的更远

微信扫一扫

CATALOG
  1. 1. 系列文章目录
    1. 1.1. 面向读者群
    2. 1.2. 更新日志
  2. 2. 关于我 && 博客