我正在尝试使用Xcode 11.2制作一个简单的游戏,其中包含一个动画循环背景和一个视图,该视图显示并更改项目中多个Lottie json文件中的各种动画。
问题是:
当我单击“下一步”按钮以更改视图动画时,正在循环的背景视图将停留一秒钟,直到加载视图中的下一个动画为止,应用程序中的所有内容同时冻结,就像背景动画。
我已经做了很多研究以解决此问题,但是我什么都没发现。
CPU使用率从30%到63%不等。
我不想使这个问题复杂化...所以我只是在说明我使用Lottie的方式。
@IBAction func SubmitButtonAction(_ sender: UIButton) {
showNextQuestion()
}
func showNextQuestion()->(){
myTimer.invalidate()
startCountdown(fromTime: 15)
Manager.generateQuestion()
lblLevel.text = String(Manager.questionNumber) + "/" + String(DataModel.Questions.count)
nIndex = 0
let animation = AnimationView(name: Manager.currentImage)
animation.loopMode = .loop
animation.play()
animation.backgroundColor = UIColor.clear
animation.frame = self.AnimView.bounds
animation.backgroundBehavior = .pauseAndRestore
if AnimView.subviews.isEmpty{
self.AnimView.addSubview(animation)
}
else {
for one in imgImageView.subviews{
one.removeFromSuperview()
}
self.AnimView.addSubview(animation)
}
AnswerCollectionView.reloadData()
RandomCollectionView.reloadData()
}
至少可以帮助我猜测问题与...有关,我的意思是它与线程问题或其他问题有关。