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

上线新项目前做内测的同学跟我说,使用内测机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))