核心动画使用后台线程来完成它的工作。现在的问题是:我在主线程中正在进行大量计算。核心动画立即卡住,直到计算完成。然后它继续完成它的动画。我记得在一篇文档中读到,CA 在处理时间上的优先级较低,这意味着主线程想要做的任何事情都是高优先级的,并且比任何花哨的动画更有可能同时完成。
我想强制核心动画在任何情况下都将其后台线程与主线程很好地安排在一起。或者一个单独的线程将在主线程之外运行繁重的计算。我已经尝试过,但 CA 仍然卡住,直到完成为止。我希望调度程序能够在 CA 和该计算之间快速切换处理时间。
CA怎么可能被迫继续工作?如果事情进展得慢一点,那也没关系。但最重要的是,所有事情都从用户的角度出发。
最佳答案
如果你不让运行循环顺其自然,你可以使用[CATransactionlush]
来刷新核心动画
关于iphone - 有没有办法强制核心动画运行它的线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1614921/