知识体系引导

了解Android系统架构
如何玩Android系统源码

Android性能优化盘点系列:
Android性能优化盘点 - 系统基础
Android性能优化盘点 - 启动优化
Android性能优化盘点 - 卡顿优化

Framework:

一、系统启动
Android系统启动(一)-开篇
Android系统启动(二)-Init篇
Android系统启动(三)-Zygote篇
Android系统启动(四)-SystemServer篇
Android系统启动(五)-ActivityManagerService篇
Android系统启动(六)-Launcher篇

二、进程管理
Android进程管理篇(一)-应用进程启动过程
Android进程管理篇(二)-进程查杀方式总结
Android进程管理篇(三)-进程adj算法
Android 进程管理篇(四)-cpu限制
Android 进程管理篇(五)-调度策略与优先级
lowmemorykiller总结
打通Framework与Kernel-谈谈我对进程管理的理解

三、通信

  • 进程内通信:
    Android通信方式篇(一)-消息机制(Java层)
    Android通信方式篇(二)-消息机制(ThreadLocal详解)
    Android通信方式篇(三)-消息机制(Native层)
  • 进程间通信:
    Android通信方式篇(四)-Binder机制(开篇)
    Android通信方式篇(五)-Binder机制(Kernel层)
    Android通信方式篇(六)-Binder机制(Native层(上))
    Android通信方式篇(七)-Binder机制(Native层(下))
    Android通信方式篇(八)-Binder机制(Framework层)
    Binder梳理

四、图形系统

  • 粗略梳理:
    Android图形系统(一)-Window加载视图过程
    Android图形系统(二)-DecorView布局加载流程
    Android图形系统(三)-View绘制流程
    Android图形系统(四)-Activity、Window、View关系总结
    Android图形系统(五)-Surface图形系统概览
    Android图形系统(六)-app与SurfaceFlinger服务连接过程
    Android图形系统(七)-app请求SurfaceFlinger创建Surface过程
    Android图形系统(八)-app与SurfaceFlinger共享UI元数据过程
    Android图形系统(九)-View、Canvas与Surface的关系
    Android图形系统(十)-SurfaceFlinger启动及图层合成送显过程
    Android图形系统(十一)-Choreographer
    Android图形系统(十二)-流畅度概念
    Android图形系统(十三)-Vsync信号处理

  • HWUI:
    Android9.0 硬件加速(一)-开篇
    Android9.0 硬件加速(二)-RenderThread线程的启动
    Android9.0 硬件加速(三)-绑定Surface到RenderThread
    Android9.0 硬件加速(四)-UI Thread绘制过程
    Android9.0 硬件加速(五) -RenderThread渲染过程

  • Input:
    Android Input(一)-相关模块初始化
    Android Input(二)-输入子系统
    Android Input(三)-InputReader获取事件
    Android Input(四) -InputDispatcher分发事件
    Android Input(五)-InputChannel通信
    Android Input(六)-ViewRootImpl接收事件
    Android Input(七)-ViewRootImpl处理事件
    Android Input(八)- ANR原理分析
    Android Input(九)-Input问题分析指北
    Android Input(十)-整体流程图

五、核心服务

  • AMS

    • Activity
      四大组件之Activity(一)-启动过程概览
      四大组件之Activity(二)-StartingWindow流程分析
      四大组件之Activity(三)- 任务栈
    • Service
      四大组件之Service(一)-Service启动过程
  • PMS
    Android PMS(一)-启动流程
    Android PMS(二)-Apk安装流程
    Android PMS(三)-Installd执行dexopt流程
    Android PMS(四)-安装微信

  • WMS
    Android WMS(一)-窗口管理
    Android WMS(二)-Surface管理
    Android WMS(三)- Input管理

六、性能优化专题

  • 工具:
    性能优化工具(一)-StrictMode
    性能优化工具(二)-Systrace
    性能优化工具(三)-TraceView
    性能优化工具(四)-Allocation Tracker
    性能优化工具(五)-Heap Viewer
    性能优化工具(六)-Layout Inspector
    性能优化工具(七)-调试GPU过度绘制 & GPU呈现模式分析
    性能优化工具(八)-MAT
    性能优化工具(九)-LeakCanary
    性能优化工具(十)- Android内存分析命令
    性能优化工具(十一)-Android Profiler
    性能优化工具(十二)-使用 CPU Profiler 检查 CPU Activity 和函数跟踪
    性能优化工具(十三)-使用 Memory Profiler 查看 Java 堆和内存分配
    性能优化工具(十四)-利用 Network Profiler 检查网络流量
    附:
    Simpleperf
    Battery Historain
    Matrix

  • 实战:

    • ANR问题处理
      Android ANR(一)-基本分析方法
      Android ANR(二)-触发原理

    • 优化实践&思考:
      性能优化实践(一)-安装包瘦身
      性能优化实践(二)-布局优化
      性能优化实践(三)-卡顿优化思考
      性能优化实践(四)-内存优化思考

    • systrace看冷启过程:
      从systrace看app冷启动过程(一)-应用程序启动
      从systrace看app冷启动过程(二)-首帧的绘制与渲染
      从systrace看app冷启动过程(三)-首帧的合成与送显

    • 启动耗时分析:
      启动耗时分析(一)-测量应用启动时间
      启动耗时分析(二)-CPU问题分析
      启动耗时分析(三)-ART编译分析
      启动耗时分析(四)-具体方法耗时分析

    • 内存问题分析:
      内存问题分析(一)-内存管理基础(上)
      内存问题分析(二)-内存管理基础(下)

    • 编译问题分析:
      Android 9.0 ART编译分析(一)-编译通路梳理
      Android 9.0 ART编译分析(二)-Installd触发dex2oat编译流程
      Android 9.0 ART编译分析(三)-虚拟机触发dex2oat编译流程

    • 应用启动流程梳理
      应用启动流程梳理(一)-应用安装流程
      应用启动流程梳理(二)-Input事件传递流程
      应用启动流程梳理(三)-Activity启动流程
      应用启动流程梳理(四)-视图处理流程

七、其他
手机状态栏信号显示流程浅析
Service的自动重启问题
任务列表流程浅析
Android phone 拨号、来电流程
内存耗用:VSS/RSS/PSS/USS 的介绍

App

一、Java基础
Java基础(一)-泛型
Java基础(二)-注解
Java基础(三)-反射
Java基础(四)-IO / NIO
Java基础(五)-集合之HashMap
Java基础(六)-CurrentHashMap线程安全实现
Java基础(七)-LinkedHashMap原理分析
Java基础(八)-设计模式

二、网络
Android网络编程(一)-协议分层
Android网络编程(二)-session、cookie、token
Android网络编程(三)-HTTP协议
Android网络编程(四)-TCP / UDP协议
Android网络编程(五)-由Okhttp看网络库

三、线程
多线程(一)-线程基础
多线程(二)-线程安全
多线程(三)-为主线程减负的多线程方案

四、虚拟机
虚拟机(一)-JVM执行java代码流程浅析
虚拟机(二)-Dalvik执行java代码流程浅析
虚拟机(三)-JVM 、DVM 、ART简单对比
虚拟机(四)-JVM垃圾回收
class & dex
JVM虚拟机

五、其他
Android序列化浅析
Android项目构建过程分析
android imageview scaletype属性
Android中shape中的属性大全
Android数据存储路径分析
viewpage+fragment浅谈几点问题

Linux:

一、内存管理:
Linux学习-内存管理篇(一) - 概览
Linux学习-内存管理篇(二)-MMU介绍
Linux学习-内存管理篇(三)-节点、分区、页、页框、页表关系分析
Linux学习-内存管理篇(四)-内存分配算法
Linux学习-内存管理篇(五)-内存分配函数
Linux学习-内存管理篇(六)-内存回收(lru链表)

二、进程管理与进程调度
Linux学习-进程管理与调度(一)-进程描述及其生命周期
Linux学习-进程管理与调度(二)-进程的创建与销毁
Linux学习-进程管理与调度(三)-调度基础
Linux学习-进程管理与调度(四)-负载均衡与实时性

三、文件&权限:
Linux学习 - 文件基本属性
Linux学习 - SELinux/SEAndroid

脚本入门:

一、Python
Python入门(一)-语法基础
Python入门(二)-函数
Python入门(三)-面向对象
Python入门(四)-字符串常规操作
Python入门(五)-文件读写

二、makeFile
Makefile入门(一)-概述
Makefile入门(二)-MakeFile介绍
Makefile入门(三)-书写规则
Makefile入门(四)-书写命令
Makefile入门(五)-使用变量
Makefile入门(六)-使用条件判断
Makefile入门(七)-使用函数
Makefile入门(八)-make运行
Makefile入门(九)-隐含规则
Makefile入门(十)-使用make更新函数库文件
Makefile学习总结

数据结构&算法

数据结构&算法(一)-算法思想
数据结构&算法(二)-单链表
数据结构&算法(三)-二叉树
数据结构与算法(四)-排序
数据结构&算法(五)-字符串
数据结构&算法(六)-数组

你可能感兴趣的:(知识体系引导)