@ -68,3 +68,10 @@
#### 代理模式
代理模式是指在不改变原始类的情况下,通过引入代理类来给原始类附加功能。代理可以分为静态代理和动态代理。
静态代理的实现比较简单,就是把实际的对象通过构造函数传给代理类,代理类可以在原有的基础上添加一些附加功能。动态代理不必像静态代理事先为每个原始类编写代理类,他可以在运行时动态的创建原始类的代理类,然后在系统中用代理类替换带原始类。在 Java 中的实现也比较简单,毕竟提供了InvocationHandler 来做,但是 Java 中的动态代理只能代理接口,如果想代理类就要使用 cglib 了。
在做插件化,Hook Activity 的生命周期时,就可以使用动态代理替换掉 ActivityThread 的 H 类的 handleMessage 方法。
####