您的位置:主页 > 新闻热点 >

Lottie888真人记

时间:2018-11-30 03:55来源:[db:来源] 点击:

  1. 入坑背景

  鉴于从事直播绵软件开辟的缘由,本猿在版本迭代经过中壹期不落的接触到千头万绪触动画效实。最早的时分,苦逼的用Android原生触动画做直播间全屏礼,重骈的看着美工给的Flash效实图,时时的合并凑斋材图片,调理把持触动画播放的属性值,各个触动画代码邑很相像,但却无法套用,壹包两叁天宇,根本上脑海中摒除了触动画就壹派空白...不事先到来采取spine礼框架以后,也就告佩此雕刻么的悲凉人生。条是就在上壹版本中,产品鉴于...的缘由,让不一的用户进入房间拥有不比样的效实,就中就带拥有文字背景带粒儿子效实,关于此雕刻么的效实,Android原生触动画露然拙讷为力,假设采取帧触动画,鉴于微少量斋材文件的伸入带到来最直接的不良影响坚硬是装置包体积度过父亲。经度过评价之后,决议运用叁方触动画框架,从效力动器下载触动画资源,在特克间对不一资源文件终止播放,终极采取对立比较熟的Lottie框架。

  2. 踩坑预备

  熟识壹个新的框架最快的方法坚硬是检查官方文档,鉴于官方文档中普畅通邑会给出产壹个Demo,实不其然, Lottie 亦!文档的阅读量不是很父亲,畅通篇上伸见了:

  播放该地Assets目次下的Json触动画文件经度过Json数据播放触动画何以对触动画终止监收听以及触动画进度调理Lottie触动画数据的预加以载投缓和润放为Assets目次下的Json触动画文件配备触动画所需寻求的斋材3. 末了尾入坑

  条是,他伸见了此雕刻么多,并没拥有拥有壹款适宜我的。鉴于效力动器下发不是骈杂的Json数据,是壹个触动画紧收缩包,外面面带拥有了触动画文件和播放触动画需寻求的斋材文件,同时松压后的文件也不在Asset目次下。于是,条好跟踪animationView.setAnimation("hello-world.json")源码,看看最一齐竟竟做了什么事!

  壹个参数调用两个参数同名方法,条好接着往下看!

  从此雕刻边却以看到官方文档中说的缓存放,带拥有强大援用缓存放,绵软弱援用缓存放,和无缓存放花样,同时知道Json触动画文件终极会转募化为Composition对象,而Compostion对象是经度过LottieComposition.Factory.fromAssetFileName(...)的方法异步获取的,于是我们条好接着往下跟踪。

  看到此雕刻边我们此雕刻就皓白,即兴在传入的文件名,终极还是经度过getAssets().open(fileName)的方法,以流动的方法终止处理了,于是我们却以此雕刻么加以载放在其他目次下的Json触动画文件。

  异步的方法获取Composition对象,鉴于不运用setAnimation(final String animationName, final CacheStrategy cacheStrategy)方法,因此我们没拥有法运用框架供的缓存放,为了下次播放时不需寻求重行松析触动画文件,使触动画的加以载快度更快,我们也需寻求重行做壹套缓冲处理,如次