首页 > 解决方案 > CABasicAnimation 默认运行在主线程还是后台线程

问题描述

这更像是一个概念查询而不是编码。我有一个自定义活动指示器,一个自定义视图。用户将拥有的唯一公共 API 是init(onFrame frame: CGRect),startAnimating()stopAnimating().

所以,我想知道在startAnimating方法中,我应该创建一个线程是 main 还是 DispatchQoS 来运行动画。

另外,如果我不将动画代码放在线程中,它会自动在主线程上运行吗?

标签: iosgrand-central-dispatchswift5cabasicanimation

解决方案


与 UIView 的所有通信都必须在主线程上。所有核心动画都在后台线程上自动执行。所以不要做任何与 CABasicAnimation 相关的显式多线程。


推荐阅读