宇连通 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只能是小动画才行呀。

做好一个软件真的好难呀!!!,如果还需要继续优化下去,还需要大量的精力和潜心神的投入,


相關推薦

2025-04-02

宇连通IM进行了一次消息轰炸测试,炸出PC端内存泄漏,内存直接达到了2G多。 使用VisualVm进行内存分析,发现历史消息未进行内存回收,需要把历史消息组件的关联链断开,这样历史消息组件就能够内存回收。 仅此优化,IM内

2025-03-30

存占用升高,分析发现是用户头像的缘故,因此增加缓存图片,使用WeakReference缓存图片,频繁滑动查看超大消息列表时,内存占用不会上升太大。 通过以上两次优化,pc端内存占用能够控制在1.5G。因此针对pc端进行了单独测试

2023-10-09

一、更新内容简介 本次更新为次要版本更新,进行了若干优化(更新历史详见:码云 Release Notes)。MobileIMSDK 可能是市面上唯一同时支持 UDP+TCP+WebSocket 三种协议的同类开源IM框架。 二、MobileIMSDK简介 MobileIMSDK 是一

2025-03-24

IM宇联通完成了基于WebRtc实现的视频通信。 视频和语音通信目前支持PC,Android, 鸿蒙三端的功能。 PC端: 采用javafx实现,理论应该能够满足ios, windows, linux等平台,信创电脑也应该能够支持。源码: https://gitee.com/ldh123/im.git

2023-04-28

m/apache/doris/pull/15000 问题修复 修复 Hive Catalog 的若干连通性问题。 修复 Hudi Catalog 的若干问题。 修复 Kerberos 票据过期导致查询 HDFS 上的数据,结果为空的问题。 优化 JDBC Catalog 的连接池,避免过多的连接。 修复通过

2023-02-11

一、更新内容简介 本次更新为次要版本更新,进行了若干优化(更新历史详见:码云 Release Nodes)。可能是市面上唯一同时支持 UDP+TCP+WebSocket 三种协议的同类开源 IM 框架。 二、MobileIMSDK 简介 MobileIMSDK 是一套专为

2023-02-28

观,智能切换”、“全局搜索,快速搜索”、“群应用,图片、文件轻松传送”等功能。并随新版本一同增加了诸如“多帐号登录及管理”、“截图”、“转发面板支持查看转发对象详情”等功能。 ▲设置跟随系统外观(龙

2022-09-20

迎使用。 更新内容: ### Feature * 【0.9】增加telnet端口连通监控 [2022-06-09] * 【0.9】增加SqlServer数据监控报警 [2022-06-30] * 【0.9】监控列表增加监控调度时间查看 [2022-08-04] * 【0.9】优化启动脚本,支持java11, java13 [2022-08-04] * 【0.9

2023-09-03

能力,快捷方便,提升办公效率; 3、新增群应用功能,图片、文件轻松传送,群聊更高效; 4、新增全局搜索能力,进一步提升内容搜索效率。 5、修复若干已知bug。 下载地址:https://im.qq.com/linuxqq/index.shtml

2023-04-25

的 css 统一构建到 layui.css,以尽量减少请求,同时原有的图片资源全部替换为纯CSS实现。 舍弃layedit 新版正式的舍弃掉了内置的富文本编辑器,毕竟富文本编辑器本身就是深不见底的坑,在各个UI库或框架中也没有内置,算是

2024-09-26

/projects/MIMO/index.html 计算机视觉和图形学领域的一个基本问题是,3D作品通常需要多视角捕捉进行逐个案例训练,这严重限制了它们在短时间内建模任意角色的适用性。最近的2D方法通过预训练扩散模型打破了这一限制,但在姿

2025-03-24

群聊:支持多人群组聊天 消息类型: 文本消息 图片消息 文件消息 视频消息 事件消息 消息状态: 消息已读回执 实时通讯:基于WebSocket的实时消息推送 消息历史记录:查看历史聊天记录 2.3 联系人管

2022-12-10

查询条件 【优化】API 接口(更新店铺信息接口)新增图片轮播(swiper)入参 【优化】 API 接口(更新店铺信息接口)新增店铺介绍(description)入参 【优化】优化 WebIM 客服模块 【优化】优化搭配购模块 【修复】【

2023-12-06

的细节改进:比如显示可用快捷键、调整界面翻译等等 若干中文排版的重要改进:比如中英文之间自动插入很小的间隔等等 若干字体相关重要改进:比如设置Linux平台默认中文字体等等 修复若干参考文献相关的错误 调整