事情是这样的,大概从上个月开始,我在微信里发表情包的时候,发现有些图会自己晃动。不是那种轻微的抖动,是幅度挺大的左右摇摆,看久了真的有点晕。一开始我以为是自己手机的问题,重启了好几次也没用。
后来我特意问了身边几个朋友,发现遇到这个情况的还不止我一个。有个朋友说是因为微信版本太旧了,让我去更新一下。我更新到最新版之后,确实好了两天,但没过多久又开始了。这就很让人头疼。
排查过程:从手机设置到网络环境
既然更新没用,我就开始自己琢磨。首先我怀疑是不是手机内存不够导致的卡顿。我清理了大概两个G的缓存,把不用的App也删了几个。结果呢?表情包该晃还是晃,一点面子不给。
接着我又想到会不会是网络延迟的问题。我特意从WiFi切到5G流量,然后又换了个信号好的地方试。发现一个有意思的现象:网络好的时候,晃动频率确实低一些,但只要一加载大图或者长图,晃动就又出现了。
朋友提醒了一个关键点
后来我一个搞设计的朋友跟我说,其实很多动态表情包本身就是带帧动画的。有些作者在做图的时候,为了追求效果,会把震动幅度调得特别大。微信在显示这种大尺寸动图的时候,如果图片压缩算法处理不过来,就会出现视觉上的额外晃动感。
他这么一说我才反应过来,我收藏的那些晃得最厉害的表情包,基本都是尺寸大、帧数多的。而那些简单的静态表情包,不管怎么发都很正常。所以问题可能不在微信本身,而是那些表情包文件本身就有点问题。
尝试过的几个笨办法
既然知道了原因,我就开始想办法。第一个办法是重新保存表情包。把那些晃得厉害的图从聊天记录里删掉,重新从表情商店或者朋友那边再收一遍。这么做确实管用,因为重新保存的过程相当于让微信重新处理了一遍图片数据,晃动会减轻不少。
第二个办法是降低发送画质。我在微信设置里把图片和视频的发送质量调成了“标准”而不是“高清”。发出去之后,朋友那边的表情包明显稳了很多。虽然画质有点下降,但总比晃来晃去强。
第三个办法有点笨,就是手动修图。我挑了几个最常用的晃动表情包,用手机自带的编辑功能把尺寸稍微缩小一点,然后再存到相册里。之后从相册发出去,基本就不晃了。不过这个方法只适合自己用,没法批量处理。
关于微信新功能的观察
后来我发现微信其实在聊天输入框旁边有个小开关,可以关闭动态表情预览。把这个关掉之后,输入框里的表情包就不动了,但发出去之后该晃还是晃。所以这个功能只能解决“预览”问题,解决不了“发送后”的问题。
还有一个情况是,有些表情包在安卓手机上晃,在苹果手机上就不晃。我拿同事的iPhone试了一下,确实是这样。这应该跟两个系统的图片渲染引擎差异有关,不是我们能控制的。
补充方案:一个还算顺手的工具
上面那些办法能解决大部分问题,但有些表情包确实很常用,又找不到原图重新保存。后来我在找资料的时候,无意中用到了一款叫表情包处理助手的小工具。这个东西不是微信官方的,是一个独立开发者做的。
它的主要功能就是把动态表情包转成静态的,或者把帧数特别多的动图重新压缩一遍。我把自己收藏的二十几个晃动严重的表情包都过了一遍,转成静态图之后,发出去就完全不会晃了。而且它还能批量操作,不用一个一个弄。这个工具在应用商店里就能搜到,是免费的,不过有广告。
说点它的限制吧。首先,它只能处理本地已经保存的表情包,没法直接处理别人刚发给你、还没存下来的图。其次,转成静态图之后,表情包原本的动态效果就没了,有些带文字的表情包会丢失一部分趣味性。最后,它的界面做得比较简陋,第一次用的时候我找了半天才找到批量处理按钮在哪。
总的来说,如果你像我一样被表情包晃动问题烦了很久,可以试试我说的那几个系统设置办法。如果实在不行,再考虑用工具转一下格式。反正对我来说,能解决眼睛晕的问题比什么都重要。