请教大佬帮忙分析,生产环境上出现了偶尔闪退的问题,涉及的代码如下:
1、下面代码所在类是通过获取单例进行初始化的
2、此方法- (viod) undoHightlightComplete:(XFMarkingComplete)complete;是通过获取单例对象来调用的; 属性strongSelf.showImageMake 的showImageMake是通过懒加载的方式进行初始化的;
- (XFShowImageMake *)showImageMake {
if (!_showImageMake) {
_showImageMake = [[XFShowImageMake alloc]init];
}
return _showImageMake;
}
3、程序出现的这个非必现的奔溃问题,错误定位在方法showImageWithGrayMask:内部,如下代码:
if (self.showImageBlock) {
self.showImageBlock(MatToUIImage(image));
}
错误定位在 if (self.showImageBlock) { 这一行的self,提示:Thread 2: EXC_BAD_ACCESS (code=1, address=0x20)
图片如下:
5、这个奔溃还不是稳定重现的,测试了老久老久才重现出来。
想不到什么情况下,单例的属性被回收了?
还是前面的weakSelf、strongSelf使用有问题呢?
求助大佬解答~