2017 Plan

Posted by Jfson on 2017-05-03

framework 源码

  • 打包流程,Apk安装流程
  • Android 进程启动流程
  • Activity 启动流程
  • 应用进程Content创建流程
  • View 的绘制流程
    • setContentView,DecorView
    • measure
    • layout
    • draw
  • ViewTree
    • 遍历时机和流程
  • 自定义View
    • canas
    • 事件分发
    • 事件冲突
  • UI 性能优化
    • ViewGrop
    • merge标签
    • ViewStub
  • UI 卡顿分析
    • 16ms
    • 过度绘制
  • Builder模式及其Dialog系统源码分析,责任链模式模式及其Android系统事件分发机制详解,Android Handler源码分析,PackageManagerService源码解析及其apk安装原理,解释器模式及其在PackageParser源码中的运用,Activity启动流程源码全解析,ListView的复用机制源码层分析,属性动画源码详解,Message链表原理,Binder核心原理与架构设计

性能优化以及工具的使用

  • 界面UI,View
  • Bitmap & 图片
  • App 启动速度
  • Dex 加载优化
  • 安装性能
  • 卡顿(CPU 分析)
  • OOM
  • ANR
  • 内存优化 & 分析工具
  • 多线程
  • 电量
  • 网络
  • 启动页优化

架构 & 设计模式

  • 数据库框架设计
  • 网络框架设计
  • 图片加载框架设计
  • RXJava响应式编程框架设计
  • 结构型模式
  • IOC架构设计
  • 项目框架设计
  • 三方库源码& 框架设计(fresco 缓存框架设计,danmuku 对象池框架设计,线程池设计,volley 网络库框架设计)
  • 设计原则 单一职责SRP、里氏替换LSP、依赖倒置DIP、接口隔离ISP、迪米特LOD、开闭OCP
  • 设计模式 Simple Factory、Factory Method、Abstract Factory、Builder、Prototype、Singleton
  • AOP架构设计:Aspect、Joint point、Pointcut、Advice、用户行为统计场景、性能监控场景、埋点
  • 工具使用:

Java 虚拟机,GC,网络编程(Http/Https, NIO),AOP设计,自动解析埋点设计

数据结构,算法

NDK 开发(非必要)

Python

写个项目


pv UV: