目录
直播动画框架探索
方案对比
方案 | 优点 | 缺点 |
帧动画OpenGL | 实现简单 | 播放图片资源占用高; |
属性动画 | 资源占用小 | 1. 播放图片资源占用高; 2. 实现难度大,实现效率低; |
GIF | 实现简单 | 1. 播放图片资源占用高; 2. 资源文件包比较大; 3. 效果不是很好(只支持8位颜色) |
webp | 1. 实现简单; 2. 相对GIF,资源文件包变小; | 1. 播放图片资源占用高 |
动画库 | 1. 一套引擎,三端公用; 2. 一套协议,三端各自实现 |
动画库对比
动画库 | Lottie | SVGA |
---|---|---|
支持平台 | Android/iOS/Web | Android/iOS/Web |
设计工具支持 | After Effects | AE & Flash |
导出工具 | 插件 | 插件 |
资源包大小zip | 2.6M | 767k |
优点 |
|
|
缺点 |
|
|
实现方式 |
|
|
官网 | 地址 | 地址 |
结论:
直播场景下(动画时间短,播放频率高),主要考虑资源占用:
Lottle 因为要在绘制时间计算一些高阶曲线导致绘制效率比较低,并且动画资源文件比较大;
SVGA动画资源更小,由于是一帧一帧绘制,并且复用图片,所以在直播场景下资源占用更加小;
最终选用SVGA。