Open jw007800 opened 2 years ago
Bug 表现 问题的具体描述 内存泄漏
截图 [QMUIHelper executeBlock:^{ OverrideImplementation([UIView class], @selector(layoutSublayersOfLayer:), ^id(__unsafe_unretained Class originClass, SEL originCMD, IMP (^originalIMPProvider)(void)) { return ^(UIView selfObject, CALayer firstArgv) {
// call super void (*originSelectorIMP)(id, SEL, CALayer *); originSelectorIMP = (void (*)(id, SEL, CALayer *))originalIMPProvider(); originSelectorIMP(selfObject, originCMD, firstArgv); if (!selfObject.qmui_borderLayer || selfObject.qmui_borderLayer.hidden) return; selfObject.qmui_borderLayer.frame = selfObject.bounds; [selfObject.layer qmui_bringSublayerToFront:selfObject.qmui_borderLayer]; [selfObject.qmui_borderLayer setNeedsLayout];// 把布局刷新逻辑剥离到 layer 内,方便在子线程里直接刷新 layer,如果放在 UIView 内,子线程里就无法主动请求刷新了 }; }); } oncePerIdentifier:@"UIView (QMUIBorder) layoutSublayers"];
如何重现
预期的表现 不要有内存泄漏,不然不知道什么时候就奔溃了
其他信息
这个解决了么?
你这语气....
Bug 表现 问题的具体描述 内存泄漏
截图 [QMUIHelper executeBlock:^{ OverrideImplementation([UIView class], @selector(layoutSublayersOfLayer:), ^id(__unsafe_unretained Class originClass, SEL originCMD, IMP (^originalIMPProvider)(void)) { return ^(UIView selfObject, CALayer firstArgv) {
如何重现
预期的表现 不要有内存泄漏,不然不知道什么时候就奔溃了
其他信息