svga / SVGAPlayer-iOS

Similar to Lottie. Render After Effects / Animate CC (Flash) animations natively on Android and iOS, Web. 使用 SVGAPlayer 在 Android、iOS、Web中播放 After Effects / Animate CC (Flash) 动画。
http://svga.io
Apache License 2.0
1.08k stars 293 forks source link

冷启动首次加载动画时会阻塞线程 #156

Closed gushenmeiying closed 3 years ago

gushenmeiying commented 3 years ago

杀死 APP 重新打开首次加载动画时,会阻塞主线程, 退出页面重新进入时不会 初始化代码: `

lazy var svg: SVGAPlayer = {
    let svg = SVGAPlayer()
    svg.loops = 1
    svg.isHidden = true
    DispatchQueue.global().async {
        let parser = SVGAParser()
        parser.parse(withNamed: "fireworks", in: nil) { (videoItem) in
            svg.videoItem = videoItem
        }
    }
    return svg
}()

`

调用代码: `

self.svg.isHidden = false self.svg.startAnimation() `

yangqingren commented 3 years ago

这不是阻塞主线程,而是你的 self.svg.startAnimation() 时,并没有 videoItem,请调整代码调用逻辑。 退出页面不会是因为直接使用的 cache 的缓存