luckybilly / CC

业界首个支持渐进式组件化改造的Android组件化开源框架,支持跨进程调用。Componentize your android project gradually.
https://luckybilly.github.io/CC-website/
Apache License 2.0
4.04k stars 636 forks source link

关于各个模块初始化操作 #39

Closed zhouzhiguang2020 closed 6 years ago

zhouzhiguang2020 commented 6 years ago

在每个模块里面都有自己的application初始化分模块怎么做

luckybilly commented 6 years ago

有以下几种跟初始化相关的措施,根据具体需求可自行决定如何使用:

  1. 在CC初始化时执行组件自身的初始化:在IComponent实现类的无参构造方法中进行初始化

  2. 在组件第一次被调用时执行组件自身的初始化: 在IComponent.onCall(cc)方法中进行初始化

  3. 作为App单独运行时进行第三方库的初始化: 在debug目录创建测试用的Application子类,在onCreate方法中进行初始化,仅在以app方式运行时生效,作为组件集成到主app时不会执行

  4. 关联Application的生命周期初始化:搭自动注册插件的顺风车,仿照IComponent实现类的自动注册:

    • 创建IApplication接口以及接口的管理类
    • 接口类及接口管理类放在底层公共库中
    • 组件module中实现接口,通过添加auto-register的配置将接口实现类自动注册到管理类中
    • 自定义Application的生命周期方法中通过管理类调用实现类的对应方法