05 项目架构-插件化-Hook实现换肤

1 知识储备

1.1 思考

image.png

1.1 什么是Hook

image.png

1.2 setContentView流程分析

  • View层级


    image.png
  • XML解析流程


    image.png

1.3 LayoutInflater布局原理分析

image.png
  • 布局创建流程


    image.png

    image.png
  • 系统获取每个View对象方式


    image.png
  • 我们怎么拦截View的创建,获取每个view对象


    image.png
image.png

1.4 Android资源管理器和AssetManager内核解密

image.png

2 插件化实现换肤

  • 优点
    1.用户体验,无闪烁换肤架构
    2.扩展和维护方便,入侵性小,低耦合
    3.插件化开发,任何APP都是你的皮肤包
    4.立即生效,无需要重启APP

2.1 实现流程

    1. 拦截系统创建view的流程
    1. 识别哪些view需要换肤
    1. 加载外部资源包

推荐阅读更多精彩内容