9 月 28 日,有媒體消息稱,微信對同一文件,會保存 10 份,所以微信動不動就能吃掉你手機幾十 G 的空間。
微信本可少占用大量空間,但卻沒這么做。
而你卻拿微信毫無辦法,又不能不用微信。科小編自查了下,微信已用空間達到 47.89G,都快趕上 3 個原神、4 個王者榮耀、10 個抖音了。

為了手機弱小無助的存儲空間,科小編深扒了一下發(fā)現(xiàn),微信的確會 " 一個文件保存 10 次 "。這存文件的軟件邏輯,粗糙到像是小學(xué)生做出來的。
1 個視頻保存 10 份
有網(wǎng)友 @科技老男孩,調(diào)查了 iOS 版微信,找到了其中最占你手機空間的 " 亂碼 " 文件夾。

這些 " 亂碼 ",實際上是用戶初始微信號的 MD5 值,一串 32 位 16 進制數(shù)。MD5 算法是一種廣泛使用的密碼散列函數(shù),用于確保信息傳輸完整一致。
這些文件夾存放了微信用戶數(shù)據(jù),如果你登錄過 2 個微信號,就會看到 2 個這種 " 亂碼 " 文件夾。
這些文件中,占用空間最大的,自然就是聊天中的各種視頻和照片文件了,微信都給你認認真真存好了。

可怪就怪在,這里面有很多視頻和音頻文件,都是重復(fù)的!白白占用你手機空間。

按照微信的程序邏輯,如果你給 10 個好友發(fā)送同一個 50MB 的視頻,微信會全都各自保存一遍,那么微信就會占用你 500MB 的空間。
簡單來說,你收到一個視頻或文件,然后轉(zhuǎn)發(fā)給別人,就會生成兩個單獨的文件,分別保存,然后每轉(zhuǎn)發(fā) 1 次,繼續(xù) +1。
手機存儲空間,就這么被占滿了。
你以為這就完了么?其實實際情況比上面所說的還要糟糕。
微信還會為在聊天界面,生成一個幾十 MB 的壓縮文件,用來減少對系統(tǒng)的資源占用。而它也會像原文件一樣重復(fù)保存。
復(fù)制了也就算了,可占著存儲空間,文件還過期看不了,那就最離譜了。
這種邏輯,得是怎樣的 " 貴物程序員 " 才能想得出來!
普通程序員
會給你省下 450MB 空間
其實在服務(wù)器和網(wǎng)盤領(lǐng)域,早就有成熟的技術(shù),可以完美解決這樣的問題,這就是基于 MD5 的文件去重。
如果你給 10 個好友發(fā)送了一樣的視頻,按照正常程序員的邏輯,都是只保存一份,其他的九份文件做個映射就完了。
這樣就給你省下 450MB 的存儲空間。

通過識別文件的哈希數(shù),刪除重復(fù)的文件,在被刪除的地方放下一個指向原文件的副本。
以我們常用的某網(wǎng)盤為例,數(shù)萬人上傳同一個 " 學(xué)習(xí)資料 " 視頻,網(wǎng)盤的服務(wù)器實際上,一般也只會保存數(shù)十個相同的視頻,用以備份和分發(fā),從而大大節(jié)省空間,還省錢。

這樣就可以做到既不影響使用,又可以大幅降低內(nèi)存占用。順便,也實現(xiàn)了所謂的 " 極速秒傳 " 功能。你上傳的 " 學(xué)習(xí) " 視頻,別人早就上傳過了,網(wǎng)盤直接給你個映射,秒速搞定。
網(wǎng)盤省錢了,用戶效率提高了,雙贏。
微信本可少占用大量空間
為什么不做?
相關(guān)話題已經(jīng)登上了熱搜。

或許是微信為了大力促進半導(dǎo)體行業(yè)的發(fā)展,促進大容量手機的銷量,變相推動經(jīng)濟發(fā)展?
又或許是擔心用戶,在刪除跟某個好友的聊天記錄時,同時也清理了與其他好友的同一份圖片視頻?
所以簡單粗暴的,耗費無數(shù)空間資源,保存無數(shù)次文件?反正鍋它不想背,畢竟國民級 App,一點點風(fēng)險都能被無限放大。

這種文件管理機制,或許便是微信沒用多久,就冒出幾十個 G 數(shù)據(jù)的最大原因了。
有網(wǎng)友點評稱:
這個保存邏輯,是我最開始學(xué)程序的時候不知道怎么識別相同文件的時候干出來的事。就是一個賬號對應(yīng)一個文件夾,把所有內(nèi)容存進去,當時還想著把微信或者 QQ 的源代碼扒下來看看他們是怎么寫的,但沒去做,結(jié)果他們的也停留在入門半年的水平嗎?
還是說覺得反正是用戶的儲存沒必要做這些。
也有網(wǎng)友吐槽稱,這很符合鵝廠的作風(fēng):因為占用的是我們的存儲器空間,又不是微信的存儲器。
" 自己服務(wù)器數(shù)據(jù)庫當寶,用戶儲存空間當垃圾場。"
微信這種存儲邏輯,造成了手機空間的浪費。你只能通過一次次的手動清理,甚至是卸載重裝微信,才能徹底清除冗余的數(shù)據(jù)。

不堪負重的手機
這個問題,科小編搜索了下,其實早在 3、4 年前,就有網(wǎng)友放應(yīng)過。只不過時至今日,情況依舊。

如今的手機 APP,都往全能方向上推進,恨不得把自己做成一個操作系統(tǒng)。
社交、支付、直播、視頻、游戲等等,一股腦全塞進去。根本不考慮大家是否用得上,手機空間是否足夠,真正的常用功能部分,或許不到 1%。
說到這里,相信大家都不禁發(fā)出怒吼,到底為什么?這究竟是道德的淪喪,還是人性的泯滅?有網(wǎng)友調(diào)侃,這或許也是一種 " 大格局 " 的防御策略。
你裝微信用了幾十 G 了,未來出現(xiàn)個飛信之類的競品,你就會掂量一下手機存儲空間夠不夠,64G 的手機直接投降,裝了微信基本不用考慮裝別的了。
這不就變相擠壓競爭對手了嗎。
在 2019 年的微信之夜上,微信之父張小龍曾說:
" 全國每天都有 5 億人在吐槽微信,還有 1 億人在教我怎么做產(chǎn)品。"
" 每次改版用戶都不習(xí)慣,但不能按照用戶投票來決定改版。"
所以,想要微信回歸 " 小而美 " 的朋友,估計是沒戲了,努力適應(yīng) " 大而肥 " 吧。
最后,大家手機中的微信占了多少 G 空間呢?歡迎下方評論留言 ~

綜合自:B 站 @科技老男孩、@勝利文縐縐
原文地址:http://www.myzaker.com/article/63368f7f8e9f091f5b63762b