宇连通 IM 之 gif 图片的若干问题
宇连通IM经常会使用到gif图片,就增加了支持gif图片功能,已经gif图片制作功能。使IM不仅能发送截图,还能发送制作的gif图片。
但是当发送10M+的gif图片时,pc端内存就迅速升高,设置的500M内存就不够用了,就对gif占用大量内存进行了优化。
第一步优化: 不直接展示gif图片,而是读取gif中的图片,然后使用线程轮询展示图片,这样内存占用永远只是一张图片的大小。此种方法看起来已经解决掉了,但是,当消息列表中有多张大gif图片时,还是会占用太多内存。
第二部优化: 那就让消息列表中只展示当前需要展示的gif图片。此方法首先需要解决哪些图片是在展示区,哪些图片已经不在展示区了。当图片进入不需要展示区时,停止加载gif图片,停止加载线程,并释放内存。
通过上序两种优化方案,pc端的内存占用已经回归到正常。就测试flutter和arkts开发的客户端。
flutter制作IM直接对大gif图片当做普通图片展示,没有动画效果。需要针对性解决。
arkts鸿蒙IM对大gif能够正常展示,动画效果也很好。鸿蒙非常的牛逼。
这是就找了国内做的比较好的IM软件对大gif的展示效果如何,就找微信和QQ进行测试,试图从同行中找到解决的灵感。
Pc端微信做的很粗暴,对大于5M的gif图片直接当做文件处理,不做图片展示了。
PC端QQ对大gif支持得比较好,内存占用也不是很高,QQ做的还是很厉害了。
同时还测试了其他软件对大gif的支持情况: oschina上传10M+不支持上传。csdn也不能上传大于5M的gif。看来gif只能是小动画才行呀。
做好一个软件真的好难呀!!!,如果还需要继续优化下去,还需要大量的精力和潜心神的投入,

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
宇连通 IM 支持录制 gif 图片和桌面录制视频
宇连通IM完成了生成gif图片以及录制桌面录制功能。 操作界面如下: 1,生成gif和录制视频入口 2,弹出置顶弹出框--录制控制界面 此界面包含如下功能:a, 选择录制区域。b, 设置录制格式:gif 或 mp4 3, 截图未选择了录制区域 4,确认后,需要确定录制模式,如下图 5,保存后,点击录制按钮,就开始录制 6,结果如下(gif图片过大,图片限制上传,无法在此展示),改用生成MP4模式。
- 下一篇
Taro 4.0.10 发布,BAT 小程序、H5 与 RN 端统一框架
Taro 4.0.10 现已发布。Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信 / 京东 / 百度 / 支付宝 / 字节跳动 / QQ 小程序 / H5 等应用。 特性 小程序 新增 skyline 模式下的 List, ListItem组件#17470 修复 drop @babel/plugin-proposal-class-properties#17385 修改判断.d.ts的正则,修复正常d结尾文件被识别成类型文件的问题#17216 小程序 从 alipay apiDiff 移出 saveImageToPhotosAlbum#17486 input 光标设置错误#17476 修复Windows下MultiPlatformPlugin无法识别斜杠的问题#17432 getBoundingClientRect在alipay小程序上的兼容#17386 修复vue3框架选中vite编译工具时依赖冲突#17312 supportedMaterials type#17210 prevent default values from over...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8安装Docker,最新的服务器搭配容器使用
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8编译安装MySQL8.0.19