美文网首页iOS日常开发iOS 进阶
iOS-SVGA动画渲染之内存优化

iOS-SVGA动画渲染之内存优化

作者: 咸蛋皮蛋的哥 | 来源:发表于2020-01-08 15:48 被阅读0次

           自从直播和小视频兴起之后,礼物和打赏成为主播和平台盈利的有效手段。在各种特效中,SVGA(SVGA 是一种同时兼容 iOS / Android / Flutter / Web 多个平台的动画格式)动画基本上是现在各个平台选择的主流手段.

           我之前的直播项目的礼物特效,都是采用官方SVGAPlayer加载SVGA资源,因为之前的业务相对简单,礼物资源也不庞大,更换工作之后发现新项目直播业务复杂,大量使用特效和全屏动画,在部分性能不好的机型上出现卡顿等情况。进过分析发现多个用户同时发送多个礼物,另外发送表情特效,多个SVGAPlayer同时工作,内存会飙升,另外某些SVGA资源十分庞大,也会出现内存飙升的情况。

           先后采取了队列播放SVGA资源,SVGAPlayer复用,SVGA资源瘦身等措施都无法彻底解决问题,调研发现采用web加载SVGA资源可以优化内存消耗,但是要注意界面的适配问题。

           加载SVGA资源前的内存使用情况:

       使用SVGAPlayer加载资源的内存使用情况:

        使用WKWebView加载资源的内存使用情况:

    可见,使用WKWebView加载SVGA资源的内存增加不大,而使用SVGAPlayer加载SVGA资源的内存增加很明显。

    相关文章

      网友评论

        本文标题:iOS-SVGA动画渲染之内存优化

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