美文网首页
iOS Lottie动画内存泄露(Memory Leak)

iOS Lottie动画内存泄露(Memory Leak)

作者: 孤独的懒猫 | 来源:发表于2020-11-10 19:00 被阅读0次

    上线新项目前做内测的同学跟我说,使用内测机iPhone6 64GB手机反复打开带有Lottie动画的页面,app会闪退!!


    WTF.png

    联调测试也没有看奔溃断点,根据多年开车经验,应该是Memory Leak !!!


    呵呵.png

    果然是Lottie动画由于返回页面没有销毁造成了内存泄漏(Memory Leak)。


    嘿嘿.jpeg
    fileprivate var lottieLogoView: LOTAnimationView?
    
    self.lottieLogoView = LOTAnimationView(name: "动效.json")
    self.lottieLogoView?.frame = self.bounds
    self.lottieLogoView?.autoresizingMask = [.flexibleHeight, .flexibleWidth]
    self.lottieLogoView?.contentMode = .scaleAspectFill
    self.lottieLogoView?.animationProgress = 0
    self.lottieLogoView?.animationSpeed = 1.0
    self.view.addSubview(self.lottieLogoView!)
    
    //动效play
    self.lottieLogoView?.play(completion: { [weak self] (isAnimationFinished) in
       if (isAnimationFinished) {
          self?.lottieLogoView?.pause()
        }
    })
    
    public func removeLOTAnimationView() {
         self.lottieLogoView?.removeFromSuperview()
         self.lottieLogoView = nil //内存释放
    }
    
    得瑟.png

    End:做开发不能以实现功能为最终目的,而是需要在保证程序运行流畅的前提下尽可能的优化使用内存,我们要对内存泄漏、内存瞬时增幅过高、内存异常使用等这些问题着重检查及时处理,程序的健壮性稳定性是最重要的。加油老铁们!


    加油老铁们.png

    相关文章

      网友评论

          本文标题:iOS Lottie动画内存泄露(Memory Leak)

          本文链接:https://www.haomeiwen.com/subject/mlijbktx.html