Android Tech And Perf

「置顶」博客文章目录

Word count: 2.1kReading time: 7 min
2019/12/01

本博客内容主要集中在 Android 开发和优化相关的话题,包括一些性能工具的使用、Android App 优化知识、Android Framework 知识讲解,性能理论知识讲解等,这里整理了一份目录供大家参考,大家可以挑感兴趣的部分来看。这里不仅仅包含博客中的内容,一些我在 知乎 或者 知识星球 - The Performance 的回答也会放到这里,不过这个目录里面放的都是我原创的博客,另外还收集了一些优秀文章,我也会不定期更新 Android 性能优化必知必会

博客的每次更新都会更新这篇目录,方便大家查阅。我会尽量保证每周一更,学无止境,与大家共勉,有什么想了解的或者博客中不足的地方,请大家在博客或者知乎、微博、微信留言给我,我会积极改正。

理论知识

  1. Android 性能优化的术、道、器
  2. The Performance 知识星球简介
  3. The Performance 星球茶话会 - 第一期
  4. OS 设计之性能设计

Perfetto 系列

  1. Perfetto 系列目录
  2. Android Perfetto 系列 1:Perfetto 工具简介
  3. Android Perfetto 系列 2:Perfetto Trace 抓取
  4. Android Perfetto 系列 3:熟悉 Perfetto View

Systrace 系列

Systrace 工具是分析 Android 性能问题的利器,它可以从一个图形的角度,来展现整机的运行情况。Systrace 工具不仅可以分析性能问题,用它来进行 Framework 的学习也是很好的,这也是我写本系列文章的一个原因

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

流畅性

流畅性主要指的是卡顿、掉帧,对应的英文是 Smooth vs Jank

  1. Android 中的卡顿丢帧原因概述 - 方法论
  2. Android 中的卡顿丢帧原因概述 - 系统篇
  3. Android 中的卡顿丢帧原因概述 - 应用篇
  4. Android 中的卡顿丢帧原因概述 - 低内存篇
  5. 关于 Android 系统流畅性的一些思考
  6. 新的流畅体验,90Hz 漫谈
  7. Android性能优化之过渡绘制(一)
  8. Android性能优化之过渡绘制( 二)
  9. Android性能优化后续
  10. 华为手机刷微博体验更好?技术角度的一些分析和思考

响应速度

响应速度主要指的是 App 冷热启动、界面跳转速度、亮灭屏速度等,对应的英文是 Fast vs Slow

  1. Android App 启动优化全记录
  2. 知乎 救救你的 StartingWindow
  3. Android 中如何计算 App 的启动时间?
  4. Android 应用启动优化:一种 DelayLoad 的实现和原理(上篇)
  5. Android 应用启动优化:一种 DelayLoad 的实现和原理(下篇)

内存

主要记录 Android 内存优化相关的知识和工具,以及对系统的影响

  1. Android 中低内存对性能的影响
  2. Android 系统不释放内存吗?
  3. Android 代码内存优化建议-Android 资源篇
  4. Android 代码内存优化建议-Android 官方篇
  5. Android 代码内存优化建议-Java 官方篇
  6. Android 内存优化之一:MAT 使用入门
  7. Android内存优化之二:MAT使用进阶
  8. Android内存优化之三:打开MAT中的Bitmap原图

Framework 知识

博客中 Framework 相关的内容会集中在这里,包括一些 Framework 的运行原理、Framework 问题的解题思路、Framework 优化方法等

  1. 当 App 有了系统权限,真的可以为所欲为?
  2. Android 中的“后台无效动画“行为分析
  3. Android 框架问题分析案例 - 谁杀了桌面?
  4. Android 中的 Activity Launch Mode 详解
  5. Android 中的 Hardware Layer 详解
  6. Android 平台应用宝和讯飞输入法无障碍服务导致的全局卡顿分析
  7. 从用户角度来理解 Android 应用的状态
  8. Android hwui 中 RenderThread 工作流程
  9. HashMap 源码分析
  10. 细说Java单例模式
  11. Android 系统开发源码环境搭建
  12. Android App 链式唤醒分析
  13. 一个「闰」字引发的事故 - 三星系统重启分析
  14. Android 系统开发系列(1):Android 12 源代码下载、编译和刷机

App 开发

这里主要记录一些 App 开发相关的博文,由于写的比较早,大家随便看一下就可以了

  1. Android Bottom navigation 规范一:使用方法
  2. Android Bottom navigation 规范二:样式、行为与规格
  3. Android Service:开发自己的通知中心(1):辅助性服务介绍
  4. Android Service:开发自己的通知中心(2):辅助性服务实战
  5. Android开发:Log2File工具类
  6. Android:Ubuntu下执行Adb命令找不到设备
  7. Android小技巧:如何让EditText不自动获取焦点

个人总结和好物推荐

与技术无关,但是可以提高幸福感和工作效率

  1. 2023 年的方方面面
  2. 回顾 2021
  3. 我是 Gracker,这是我的利器
  4. Gracker 的 2018 年度最推荐 - 给辛勤工作的自己一点奖励
  5. 陆奇:除了好代码,工程师怎样才算优秀?
  6. 2017 年度最推荐 - 给辛勤工作的自己一点奖励
  7. 关于 2017
  8. Android 开发者学习路线(2020 版本)
  9. 我的 2020 年读书单

读书笔记

  1. 一本讲 Android 流畅性的书,应该有什么内容?
  2. 程序员的修炼-01:绝地反击之术
  3. 程序员的修炼-02:编程之道
  4. 程序员的修炼-03:Web 设计原则
  5. 程序员的修炼-04:关于测试的一些思考
  6. 程序员的修炼-05:了解你的用户
  7. 程序员的修炼-06:互联网那些事
  8. 程序员的修炼-07:游戏与编程
  9. 程序员的修炼-08:阅读之美

性能优化典范和 Tips

性能优化典范是 Google 出品的一系列性能相关的短视频,总共出了 6 季,之前想的是每一集都来一个文章配合,后面发现不是很现实;Android Tips 则是翻译的另外一个博主的文章

  1. Android性能优化典范综述
  2. Android性能优化典范之Render Performance
  3. Android性能优化典范之Understanding Overdraw
  4. Android性能优化典范之Understanding VSYNC
  5. Android性能优化典范之Profile GPU Rendering
  6. Android Tips 1 
  7. Android Tips 2 
  8. Android Tips 3
  9. Android Tips 4
  10. Android Tips 5

知乎问答

知乎专栏会搬运一部分文章,这里只贴一些高赞的回答

  1. 个人知乎主页 ,欢迎大家点赞关注
  2. 如何看待小米部分机型运行《王者荣耀》时两个大核被锁
  3. Flyme 5 相对于 Flyme 4 流畅得脱胎换骨,其中根本的变化是什么?
  4. Android 系统不释放内存吗?
  5. 了解Android的Framework层对工作有什么帮助吗?
  6. 怎么看待三星大量手机在今天(5.23)凌晨系统崩溃并数据丢失?

Android Weekly

  1. NewsLetter 地址 :https://androidweekly.zhubai.love/ , 推荐使用 邮箱 或者 微信订阅

  2. 知乎专栏地址 :Android Weekly , 欢迎大家点赞收藏

个人页

Gracker 的个人简介

个人演讲 && 培训 PPT

这一部分整理之后会放出来,不过大家都知道,演讲或者培训的时候,PPT 里面不会有太多的东西,多数只是一个大纲

微信扫一扫

知识星球

知识星球名为 The Performance,一个分享 Android 开发领域性能优化相关的圈子,主理人是博主自己,国内一线手机厂商性能优化方面的一线开发者,有多年性能相关领域的知识积累和案例分析经验,可以提供性能、功耗分析知识的一站式服务,涵盖了基础、方法论、工具使用和最宝贵的案例分析。
付费知识星球

CATALOG
  1. 1. 理论知识
  2. 2. Perfetto 系列
  3. 3. Systrace 系列
  4. 4. 流畅性
  5. 5. 响应速度
  6. 6. 内存
  7. 7. Framework 知识
  8. 8. App 开发
  9. 9. 个人总结和好物推荐
  10. 10. 读书笔记
  11. 11. 性能优化典范和 Tips
  12. 12. 知乎问答
  13. 13. Android Weekly
  14. 14. 个人页
  15. 15. 个人演讲 && 培训 PPT
  16. 16. 知识星球