提到微信,網友是又愛又恨,日常溝通已經徹底離不了,但體積卻臃腫不堪,動不動就占用三四十 GB 的空間,成為手機中占內存最大的 APP。

其實,最初的微信確實是 " 小而美 " 的,在 2011 年 1 月發布的微信 1.0 版本,安卓 APK 安裝包的體積僅 457KB,還沒有一張照片體積大。已經能夠實現微信發消息這個核心功能。
而 2022 年 6 月發布的微信 8.0.24 版本,安卓 APK 安裝包的體積已經膨脹到了 257MB,比很多 PC 軟件的體積還要大,11 年來膨脹了 575 倍。

近日,B 站 UP 主 " 科技老男孩 " 就通過逆向工程揭秘的微信 APK 安裝包,看了看它膨脹 575 倍到底更新了啥。
解壓發現,微信 8.0.24 版本 APK 共包含 12639 個文件,而微信 1.0 版本只有 199 個文件,該 UP 主調侃:" 新版微信有 98% 的文件都是垃圾。"
微信 8.0.24 中,文件夾主要有:
assets 文件夾:體積 78.4MB,里面裝著微信的資源文件,比如自帶 emoji 表情、字體、收款音頻、微信電話鈴聲等等。
lib 文件夾:體積 337MB,里面都是第三方動態庫,一共 157 個庫,比如解碼、解壓縮等,塞入的功能越多,需要調用的庫也就越多,安裝包體積也就越臃腫。而在微信 1.0 版本中,只有一個庫,體積僅 127KB。
META-INF 文件夾:體積 2.1MB,里面存儲了開發者的數字簽名
r 文件夾:體積 12.8MB,里面存放著 APP 資源庫,還有雜七雜八的素材圖片。
resdec 文件夾:體積 0MB,是個空文件夾。

此外在根目錄下還有 17 個文件:
AndroidManifest.xml,是配置文件
baseInfo.dat,記錄著 classes.dex 文件的 MD5 值
resources.arsc,記錄著文件之間的對應關系
此外,還有 14 個 classes.dex 文件,也就是微信編譯后的程序本體。新版共占用 161MB,而初代只有 1 個 classes.dex 文件,體積僅 256KB。11 年暴漲 644 倍。

繼續逆向工程后,該 UP 主表示,微信中真正實現聊天的代碼可能只占 0.1%,大部分代碼用來運行小程序、視頻號等功能," 微信占用的 99.9% 空間都是存放的垃圾功能和資源。"

原文地址:http://www.myzaker.com/article/62e0dbb3b15ec01a0f77b393