微信动不动就占用几十 GB!UP 主深扒:同一个文件居然存 10 份

百家 作者:程序员的那些事 2022-09-14 14:20:25

曾几何时,智能手机仅有几个GB的存储空间都绰绰有余,但如今128GB都快无法满足我们的需求了。


在一堆APP里,如果要问到最占储存空间的是哪一个,想必大部分人都会回答——微信。


在使用一段时间后,微信可以轻松占用30-40GB空间,是名副其实的“手机容量杀手”。


然而我们的日常生活已经彻底离不开它,只能一遍遍清理缓存、卸载重装,给它腾出空间来。



事实上,最初的微信也确实如同它所标榜的那样“小而美”。


在2011年1月发布的1.0版本中,微信安卓APK安装包只有457KB,还不如一张照片大。


但在11年后,微信安卓版的安装包的体积就已经膨胀了575倍。


前不久,一名网友逆向拆解安装包后发现,微信的整个安装包中,真正用于实现聊天的代码可能只占0.1%。


其他大部分代码,则都是用来运行小程序、视频号等功能的。



那么,除了安装包本身所占用的体积以外,另一个导致微信变得越来越臃肿的用户数据,又是从哪里来的呢?


近日,B站上的一位UP主 @科技老男孩 深扒微信,为我们解开了这个长久的困惑。



@科技老男孩 将iOS版微信的用户数据导出到电脑上,找到其中最重要的“乱码”文件夹。


UP主解释称,这个所谓的“乱码”其实就是用户微信号的MD5值,里面存放的就是在这台手机上所登录的微信用户数据。


也就是说,如果一部手机上登录过两个微信号,就能看到两个这种“乱码”文件夹。



进入常用微信号的“乱码”文件夹后,再通过第三方软件进行查看。


UP主发现,文件夹里占用空间最大的,就是聊天中发送的照片、视频文件了。



更让人疑惑的是,很多视频、音频文件都是重复的。


而且,这些相同的文件有时候是存在不同的文件夹下的,这些文件夹的名称分别为好友微信号的MD5值。


这似乎意味着,微信把我们发送给不同好友的同一份文件,分别都保存了下来。



对此,UP主感到非常震惊。


他表示,按照正常程序员的逻辑,如果用户要发送一份同样的文件给10个用户,那么通常只会保存1份在本地,其他的9份做映射就行。


但微信的逻辑,却是各自都保存一份,这样一来就会造成极大的空间浪费。


比如,我给10个好友发送了一个50MB的视频,那么微信就会占用450MB的空间。



为了验证这个猜想,UP主还给十几位好友发送了同一首歌曲。


最终,也真的在用户数据文件夹里找到了这十几份重复的歌曲文件。


这些文件加起来,刚好对应上了新增长的用户数据文件夹体积的大小。



虽然听上去很滑稽,但其实微信这样做的初衷也很简单:


就是担心用户在删除跟某个好友的聊天缓存文件时,也同时清理了与其他好友的同一份图片视频。


所以就简单粗暴的用无数个文件夹保存无数遍文件备份。


这便是微信没多久就会冒出几十个G用户数据的最大原因了。



对此,UP主吐槽称,“这种逻辑,只有最究极的贵物程序员才能想出来。”


就算是百度网盘,也会在用户上传文件时对比一下散列值和大小,以免重复上传。


而微信的这种代码上的缺陷,使得用户在不明就里的情况下,造成了手机空间的浪费。


只有通过一次次的手动清理,甚至是卸载重装,才能彻底清除多余的数据。



该视频曝光后,也引发了网友热烈讨论。


有网友评论称,“自己服务器数据库当宝,用户储存空间当垃圾场。”


“这很符合鹅厂的作风。”



此外,ok酱搜索后发现,早在几年前就有不少用户提出过这个问题了。


只不过时至今日,这样的情况依然没有得到改善。



如今的互联网APP,都恨不得把自己做成一个操作系统。


社交、支付、浏览器、直播、短视频、游戏......各种各样的功能一股脑塞进去。


根本不顾用户是否都用得上,手机空间是否够用。



如今的微信对于不少用户来说,确实是有些“不堪重负”了。


希望官方能够尽快意识到这一点给用户带来的困扰,在未来对于这一点进行优化,提升用户的使用体验。


  • 原视频地址

https://www.bilibili.com/video/BV1UG411V7vm


- EOF -

推荐阅读  点击标题可跳转

1、80 岁还嗖嗖改代码!他是 Unix 命名人,发明“Hello World”,他说解决问题全靠拖

2、英国都在试行 4 天工作制了,为什么国内互联网大厂还对 996 上瘾?

3、Linux 管道到底能有多快?


关注「程序员的那些事」加星标,不错过圈内事

点赞和在看就是最大的支持❤️

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接