Open kzq5 opened 3 years ago
看这个崩溃情况感觉像是必现的,同一机型,4次崩溃
我只是做了layoutSubviews方法交换 用来更新圆角处理 (如果你通过我的方式设置了圆角, 否则不会做任何事情), 我可以肯定LEEAlert内部无子线程操作, 所以不存在非主线程调用layoutSubview的.
我只是做了layoutSubviews方法交换 用来更新圆角处理 (如果你通过我的方式设置了圆角, 否则不会做任何事情), 我可以肯定LEEAlert内部无子线程操作, 所以不存在非主线程调用layoutSubview的.
嗯,我知道这个问题并非leealert的bug,只是我想知道之前的issue中类似的crash作者是修复了什么吗?以及现在1.4.3版本对比1.4.0有做相关issue的处理吗
然后我看是否升级一下最新版本,以及对我猜测的地方做一个处理
👌, 版本更新记录在这里https://github.com/lixiang1994/LEEAlert/blob/master/UPDATELOG.md
一般之前这类问题 最终都是提问的人自己排查项目代码解决的 😁
一般之前这类问题 最终都是提问的人自己排查项目代码解决的 😁
好的,那现在只能先升级一下版本,以及对我猜测的地方做一下处理了,谢谢
flutter 我不太了解 你可以在有风险的地方 埋个点或者写入日志 看看是不是在主线程
flutter 我不太了解 你可以在有风险的地方 埋个点或者写入日志 看看是不是在主线程
嗯,那这个issue就先不关了,后边我排查到了问题,再补充一下,供其他人遇到了参考
遇到了同样的问题,错误堆栈一模一样。。。
哎,这个问题排查清楚了。 这是个关联问题,涉及SDWebImage、MBProgressHUD,SDWebImage在下载完成后,会在子线程中调用 MBProgressHUD setProgress方法。 而 MBProgressHUD 1.2.0 更新了setProgress 方法
setProgress 中对 indicator view 做了赋值操作,同时触发 setNeedsDisplay 结局是在子线程中调用了 setNeedsDisplay 进而调用 layoutSubViews 而 crash。
修复这个问题需要在 MBProgressHUD 找到这里 setProgress 方法,做如下修改,即可解决问题。
泪目
作者你好,我这边在bugly上看到有5次crash,2个机型,版本都是ios14.1。如下:
9 io.flutter.1.raster
NSInternalInconsistencyException
原因就是非主线程调用layoutSubview了,.用的版本是1.4.0,我看了一些issue,有部分跟我类似的crash我看作者已经标注已修复了,能说下之前修复的是什么问题导致的吗?或者帮我看下我这个的crash问题。
我查看了工程中的代码,唯一有一个可能是从flutter中调用一个原生的桥接方法在原生代码中提示了一个弹窗,但是在iso14.1上也没crash。