alibaba/BeeHive

BHAnnotation中dyld_callback会被多次调用

Opened this issue · 1 comments

Annotation方式注册方式中使用了
void initProphet() { _dyld_register_func_for_add_image(dyld_callback); }
dyld_callback被回调次数非常多,如果注册的比较多的话会不会引起性能问题?

注册是在运行前发生的,所以无所谓;BHModuleManager.registerDynamicModule 在注册的时候是去重的,所以也不会影响运行时的性能。

__block BOOL flag = YES;
[self.BHModules enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
    if ([obj isKindOfClass:class]) {
        flag = NO;
        *stop = YES;
    }
}];
if (!flag) {
    return;
}