現在的年輕人,好像都患上了手機存儲焦慮:新機內存越來越大,但可使用內存卻越來越捉襟見肘。

“128G的手機,沒用幾個月,空間就滿了”,有人在微博上如此吐槽。

那為什么會這樣呢?

真正意義上的第一款智能手機,是2007年1月蘋果公司發布的iPhone 2G。這部手機是手機界的劃時代產品,但讓現代人難以想象的是,這部手機內存僅僅只有16GB。對比現在動輒128GB、256GB甚至512GB的內存,不由得令人感慨手機界的十五年,真是滄海桑田。但大家也發現,手機內存升級的速度,遠遠比不過手機內存被吞噬的速度。

論起吞噬你手機內存的怪物們,標榜“小而美”的微信能排進TOP3。

不少網友表示,“動不動就幾十個GB,微信膨脹得有點夸張了”。

圖源:壹讀君的微信存儲空間

為什么微信占的內存越來越大了呢?

首先,微信安裝包11年間膨脹了575倍。

據悉,在2011年1月發布的微信1.0版本,安卓APK安裝包的體積僅457KB;而現在的安卓微信8.0.28安裝包大小超過了250MB,iOS版微信8.0.29體積更是已經膨脹到超過500MB,不排除為了隨著微信升級,體積還會繼續增加。

但程序本身還不是微信體積的最大頭,最大頭的還是微信積累的緩存。

曾有科技博主通過逆向工程解壓安卓版微信APK安裝包后發現,微信8.0.24版本APK共包含12639個文件,而微信1.0版本只有199個文件。而微信中真正實現聊天功能的代碼可能只占0.1%,其他大部分代碼用來運行小程序、視頻號等功能,他表示:“微信占用的99.9%空間都是存放的垃圾功能和資源。”

圖源:嗶哩嗶哩 up主科技老男孩

APP們同樣都有緩存,為什么微信占的體積這么大呢?

問題就出在微信保存文件的邏輯上。

如果你將iOS版微信的用戶數據導出到電腦上,經過解析就會發現關鍵所在:微信中很多圖片、視頻、音頻、文檔等各種文件,被重復地存放在了不同的文件夾中。

圖源:嗶哩嗶哩 up主科技老男孩

科技博主@ 勝利文縐縐 測試轉發了1GB的文件給100人,結果轉發到第96人時,微信顯示已經占用了超過100GB的手機存儲。經過研究,他發現微信每次轉發都會在本地重復保存一次,也就是說,當你將同一份文件發送給N個好友時,微信都在本地重新保存N遍。而且,微信這個重復保存行為所造成的占用藏在微信程序內部,普通的垃圾清理對此幾乎無能為力,用戶只能選擇刪除聊天記錄中的文件來釋放空間。

他還解釋道,這種重復保存動作對于聊天軟件來說并不必要,微信或許本不必占用這么多內存,可以應用基于MD5的文件去重技術對重復文件進行識別和去重。此項技術其實早已被廣泛應用于服務器和網盤領域,目前還未曾用于手機。

說到這里,壹讀君真的非常希望開發人員再加把勁,還大家一個真正“小而美”的清爽微信。

你對微信越來越膨脹的情況感到困擾嗎?你有什么給微信瘦身的小技巧?