Results 2 comments of mddios

> set _view and _glView to nil after shutdown player: `-[IJKFFMoviePlayerController shutdownClose:]`: insert code: `_view = nil;` ` _glView = nil;` before line: `[self didShutdown]` 并没有解决,还是有崩溃: 0 libsystem_kernel.dylib 0x00000001ba704b78 __pthread_kill...

多谢提出,当时确实考虑不周,后续的使用当中,也没有测试这种情况。会造成你说的那种情况,由于重复的添加到OperationQueue ,dismiss会优先于show方法。 写这个ProgressHUD的初衷之一也是不想在调用dismiss和show方法时,还要回到主线程。还有就是在多处重复添加到主队列,是为了保证,SDK中每一个类单独拿出来使用时也都能实现这一初衷。比如用户想单独使用DDMaskView这个类时,单独拿出来使用即可 如果保留这一初衷,暂时想到两种方法: 1. 对dismiss进行延时(比如0.01s)添加到主队列;并把dismissWithDelay: 所有的代码块都放到Operation块中。伪代码如下: mainqueue { delay(0.01) { mainqueue { 具体逻辑代码 } } } 2. 只添加一次到主队列,比如在其他添加的地方判断,是否是主线程,如果是就不在添加到主队列。 或许有其他更优雅的方式,等有大块时间再仔细考虑。。。