在iOS应用程序(Swift 5)中,我使用PDF。它从UIViews生成几个PDF。现在,在生成UIActivityViewController时,我呈现了一个工作良好的。该活动正在旋转并生成PDF。整个过程就像2-3秒长。在此期间,CPU是95-100%加载的,几乎所有的都是在主线程 (PDF是用户界面的东西)上使用的。
现在,我决定在生成PDF的同时添加一些小动画。它是一个JSON导出,从后效果,并正在应用程序实现的帮助下,洛蒂。这也是一个UI的事情,但没有空间来平稳地显示动画在屏幕上-它是滞后的(就像非常糟糕)。
为了解决这个问题,尝试了
什么都帮不上忙。滞后仍然存在。
有人能帮忙吗?
也许其他一些解决方案会有所帮助--如果我想出一种方法来告诉这个代码块,它可以将它分派回主线程,但是使用不超过一定量的%。但我认为这是不可能的。
谢谢!
发布于 2020-03-31 22:22:08
..。想出一种方法来告诉代码块,它可以分派回主线程,但不超过一定数量的%。但我认为这是不可能的。
是的,当您发送回主线程时,您不能限制%。
话虽如此,两种情况中的一种可能正在发生。要么(a)主线程只是忙于其他线程,要么(b)核心受到另一个线程的约束(要么所有内核都忙于做其他事情,后台工作的QoS设置得太高,或者更糟糕的是,您已经通过线程爆炸耗尽了工作线程)。
如果您在设备上分析您的应用程序,有两种可能有用的工具:
实际上,我们不太可能根据到目前为止提供的信息来诊断问题。但是,在高竞争环境中,UIActivityIndicatorView将比许多手动动画例程表现得更好。但是如果你能做一个这个问题的简单的可再现的例子,希望它能把洛蒂从等式中带出来,那么我们就可以看看这个。
https://stackoverflow.com/questions/60952976
复制相似问题