【YFMemoryLeakDetector】人人都能理解的 iOS 内存泄露检测工具类 (2)

这里展示一个基于工具类,二次分析的示例:

YFMemoryLeakDetector * memoryLeakDetector = [YFMemoryLeakDetector sharedInstance]; /* 控制器检测结果的输出. */ [memoryLeakDetector.loadedViewControllers enumerateKeysAndObjectsUsingBlock:^(NSValue * _Nonnull key, id _Nonnull obj, BOOL * _Nonnull stop) { UIViewController * vc = (UIViewController *)[key pointerValue]; if (!vc.parentViewController) { /* 进一步过滤掉有父控制器的控制器. */ NSLog(@"有内存泄露风险的控制器: %@", obj); } }]; /* 视图检测结果的输出. */ [memoryLeakDetector.loadedViews enumerateKeysAndObjectsUsingBlock:^(NSValue * _Nonnull key, id _Nonnull obj, BOOL * _Nonnull stop) { UIView * view = (UIView *)[key pointerValue]; if (!view.superview) { /* 进一步过滤掉有父视图的视图,即只输出一组视图的根节点,这样便于更进一步定位问题. */ NSLog(@"有内存泄露风险的视图: %@", obj); } }]; 参考文章

YFMemoryLeakDetector 源码

Aspects– iOS的AOP面向切面编程的库

MLeaksFinder 新特性

MLeaksFinder:精准 iOS 内存泄露检测工具

iOS内存泄漏自动检测工具PLeakSniffer

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpzsdf.html