本篇记录lottie加载遇到的一些坑或问题。

一、遇到一个Lottie加载本地zip包的诡异问题

        private void loadLottieWithLocalZip() {try {LottieCompositionFactory.fromZipStream(new ZipInputStream(new FileInputStream("/sdcard/test.zip")), null).addListener(new LottieListener<LottieComposition>() {@Overridepublic void onResult(final LottieComposition lottieComposition) {if (lottieComposition != null) {mLottieView.setComposition(lottieComposition);mLottieView.playAnimation();}}}).addFailureListener(new LottieListener<Throwable>() {@Overridepublic void onResult(Throwable result) {Log.d("TTTT", "result:" + result.getMessage());}});} catch (Exception e) {Log.d("TTTT", "e:" + e.getMessage());}}

lottie加载不出来,走到Failure回调,异常如下:

解压后,lottie zip包里面有img_3.jpg:

查看data.json文件:

图片是jpg,但是下面这个cl是png,不懂lottie的字段是啥,怀疑可能有问题:

UE重新出了一个所谓的兼容lottie,试了一下,还是加载不出来,一样的报错。

咋办?看lottie源码去:

1、首先,看下抛出这个异常的代码:

拿不到这个bitmap,所以抛出了异常。

2、顺着这里往上看:

找到了,判断png或者webp的,才会加载bitmap,否则给close了。那么,我们基本确定,是因为UE给的lottie包里面的图片有jpg的,而通过zip包加载不支持jpg(不知道lottie为什么有这个限制)。

于是,我强制把jpg改为png,并修改了data.json里面的jpg,尝试加载,成功了!

二、iOS崩溃问题

好好的lottie在Android加载没问题,但是在iOS崩溃了。看下是不是json的某个layer缺了ind这个属性:

三、Android加载不显示问题

好好的lottie在iOS加载成功了,但是Android没加载出来,也没有crash。看下是不是在json里面直接使用base64编码的图片了。

Lottie通过本地zip包加载遇到的诡异问题相关推荐

  1. 本地jar包加载后,运行时报java.lang.NoClassDefFoundError解决方案

    由于公司是内网,需要使用网上别的大佬的maven jar包时,使用到该方法的时候,总是报: Unexpected error occurred in scheduled task. java.lang ...

  2. java进阶(9)——JVM jar包加载顺序

    最近工作当中遇到过好几例,由于项目当中依赖了一些框架,而这些框架无法直接修改时,我就直接本地代码写了一个同名同包路径的类,可以直接覆盖框架的类(本文说的框架类,不包括jdk的),屡试不爽.但是心里不免 ...

  3. c语言加载本地图片,Unity加载本地图片的2种方式

    1. 使用 WWW 加载,详细查看 unity3d 官方文档. 2. 使用 System.IO 加载,lua 代码如下: local File = luanet.import_type("S ...

  4. uiwebview 读取本地html,UIWebView加载本地HTML文件

    一.准备HTML文件及其资源文件 使用UIWebView加载本地的HTML文件 index.html,在index.html中引用了本地的图片.CSS文件.JS文件以及外部的图片. index.htm ...

  5. android编程中添加gif,Android应用开发之【Android】使用android-gif-drawable包加载GIF动图...

    本文将带你了解Android应用开发之[Android]使用android-gif-drawable包加载GIF动图,希望本文对大家学Android有所帮助. [导包] 首先需要导入android-g ...

  6. Vue本地图片循环加载显示不出来,vue img标签 :src地址拼接

    Vue本地图片循环加载显示不出来,vue img标签 :src地址拼接 上代码: <img:src="img"alt="banner" /> dat ...

  7. web加载本地html,WKWebview加载本地html问题汇总

    最近做的功能,有部分逻辑是h5实现的,我们采用了本地+网络的机制来提高h5的显示速度,首先说一下机制, 1.本地存在一份html文件+校验码 2.程序启动获取远程校验码 3.远程校验码与本地校验码,比 ...

  8. 解决AssetBundle包加载预制体时,Shader显示异常的问题

    解决AssetBundle包加载预制体时,Shader显示异常的问题 参考文章: (1)解决AssetBundle包加载预制体时,Shader显示异常的问题 (2)https://www.cnblog ...

  9. SuperMap WebGL三维包加载3dtiles数据

    使用超图最新版本的webGL包加载3dtiles数据,控制台无报错,查看请求发现b3dm文件也在请求,但三维球上却没有显示 var tileset = new Cesium.Cesium3DTiles ...

最新文章

  1. mysql 基于c_linux-基于MYSQL的C程序实践
  2. error C2220: 警告被视为错误 - 没有生成“object”文件
  3. linux查看xml文件的配置,Hibernate配置文件hibernate.cfg.xml的详细解释
  4. 将一个项目中的图片存到另一个项目中_复盘一个Smart200小项目(2)
  5. 查询出两个表中不同的数据
  6. java 电梯调度_OO_JAVA_多线程电梯调度_单元总结
  7. 高性能网络编程-反应堆模型(reactor)
  8. MIST浏览器不能连接私有链
  9. 什么叫冷备用状态_什么是热备用状态?
  10. [Java] Receipt 简易超市小票
  11. 2022,我们追逐群星,也在追逐AIGC的无尽可能
  12. OS X El Capitan 10.11开启性能模式
  13. latex 参考文献没有显示_LaTeX 参考文献的处理
  14. python画图:小圆覆盖大圆问题
  15. 电子信息工程专业考研考什么内容?
  16. java中format
  17. 迅投qmt量化交易系统以及实盘介绍
  18. docker和vm不兼容遇到的坑
  19. Python调用pikepdf模块解密PDF文件(使用tkinter模块绘制GUI)
  20. C4Dr18安装完成双击图标无任何反应,缺失libmmd.dll

热门文章

  1. section与div
  2. RuntimeError: invalid argument 0: Sizes of tensors must match except in dimension 0. Got 3 and 2 ...
  3. 分数化小数(c语言)
  4. Modernizr.js简介
  5. 软考·系统架构师论文——论基于架构的软件设计方法及应用
  6. HTML常用表格及表单属性
  7. java计算机毕业设计贺卡商城设计与实现MyBatis+系统+LW文档+源码+调试部署
  8. 音游制作插件Koreographer-第0篇 简介
  9. SQL Server 安装:功能规则报错KB2919355s
  10. 没有光驱怎么重装系统