|
提到微信,网友是又爱又恨,日常沟通已经彻底离不了,但体积却臃肿不堪,动不动就占用三四十GB的空间,成为手机中占内存最大的APP。其实,最初的微信确实是“小而美”的,在2011年1月发布的微信1.0版本,安卓APK安装包的体积仅457KB,还没有一张照片体积大。已经能够实现微信发消息这个核心功能。
8 E9 `" k2 j' c' J% z% E解压发现,微信8.0.24版本APK共包含12639个文件,而微信1.0版本只有199个文件,该UP主调侃:“新版微信有98%的文件都是垃圾。”
6 z% _ E- c% C# K微信8.0.24中,文件夹主要有:8 j' B N$ G$ e: k6 N* a
assets文件夹:体积78.4MB,里面装着微信的资源文件,比如自带emoji表情、字体、收款音频、微信电话铃声等等。3 i8 \5 G* W' R5 d8 Y& A) X
lib文件夹:体积337MB,里面都是第三方动态库,一共157个库,比如解码、解压缩等,塞入的功能越多,需要调用的库也就越多,安装包体积也就越臃肿。而在微信1.0版本中,只有一个库,体积仅127KB。
' P: F* E; _. S) Y+ z2 u% G3 VMETA-INF文件夹:体积2.1MB,里面存储了开发者的数字签名9 B5 H2 z9 o* @" }- p
r文件夹:体积12.8MB,里面存放着APP资源库,还有杂七杂八的素材图片。
+ L* F$ U4 h1 U# @0 ]/ lresdec文件夹:体积0MB,是个空文件夹。" n: p' p0 } P+ G
此外在根目录下还有17个文件:
0 X5 x- o+ M& ^# @9 OAndroidManifest.xml,是配置文件
^( D8 n+ S3 ^1 m. gbaseInfo.dat,记录着classes.dex文件的MD5值
) o" g* a+ k3 @' j/ w+ Aresources.arsc,记录着文件之间的对应关系
/ [ v+ U z' h& m0 M此外,还有14个classes.dex文件,也就是微信编译后的程序本体。新版共占用161MB,而初代只有1个classes.dex文件,体积仅256KB。11年暴涨644倍。
$ n* x; |/ d' T8 v3 t继续逆向工程后,该UP主表示,微信中真正实现聊天的代码可能只占0.1%,大部分代码用来运行小程序、视频号等功能,“微信占用的99.9%空间都是存放的垃圾功能和资源。”
" x, k+ G6 b, Z* n. H" [; J9 d7 @9 u0 ~- n. S* a
% t. D7 I7 L8 @
! f4 _/ L2 V4 J% A. @. h; A$ b2 o
1 q8 j' B- f0 c6 l/ U |
|