-
Notifications
You must be signed in to change notification settings - Fork 208
业务组件的生命周期
xiaojinzi123 edited this page Jul 15, 2020
·
2 revisions
在依赖和配置的 wiki
上,有注册业务组件的步骤,那么当你注册或者反注册一个业务组件的时候,业务组件本身如何知道?每一个业务组件如何能得到一个被加载和被卸载的通知?
新建一个类实现 IApplicationLifecycle
接口, <=1.8.2.3 的老版本需要实现 IComponentApplication 接口
并且使用 @ModuleAppAnno
注解.示例如下:
@ModuleAppAnno()
public class Component1Application implements IApplicationLifecycle { // 老版是 IComponentApplication 接口
@NonNull
privat Application mApp;
@Override
public void onCreate(@NonNull final Application app) {
mApp = app;
// 你可以做一些当前业务模块的一些初始化
}
@Override
public void onDestory() {
// 你可以销毁有关当前业务模块的东西
}
}
类的构建函数的参数必须有且只有一个参数,而且参数类型必须是 Context
或者 Application
,那么构造函数就可能有以下三种情况
- xxx() -- 无参构造器
- xxx(Context context) -- 有参构造器,其实这个
Context
就是Application
- xxx(Application context) -- 有参构造器
按照上述的步骤就可以有一个可以接受生命周期的类,注意点有以下几点:
- 类必须实现 IApplicationLifecycle(老版是'IComponentApplication`)接口
- 类必须使用
@ModuleAppAnno
注解标记 - 这样的类可以有多个,都会生效