UIProgressView更新滞后

时间:2016-05-13 08:28:39

标签: ios objective-c multithreading uiprogressview

我有一个UIProgressView,用于向用户显示文件下载的进度。下载请求在后台线程中完成,在进度块中,在主线程上调用UIProgressView进度值更新。

它可以很好地运行到40%左右,但随后它会挂起并快速显示在100%左右,并且自定义警报会关闭(应该如此)。我尝试了多次,但我无法顺利更新到100%。

我还有一个取消按钮,我注意到它没有响应40% - 100%范围内的水龙头。所以,不知何故,主线程被阻止了。因为在0% - 40%范围内,取消按钮完美运行。我非常确定我不会通过文件下载来阻止主线程,并且UIProgressView更新是在主线程上完成的。

可能是什么问题?

1 个答案:

答案 0 :(得分:2)

我终于找到了原因。这是因为我在进度块中有一个NSLog调用,它被调用了很多。

我仍然不明白为什么会这样做,以及为什么它总是在40%左右,但我认为将它投入生产并不是一个好主意。