最近,很多人都感觉到,现在的程序安装包没有-百兆大小都不好意思叫做安装包。这在以前是不可想象的,早期(其实也没有多早,大约年前吧),正常一个程序的安装包也就M左右,那时
你可以照样使用微信,使用百度,使用支付宝。可是现在,-百M的安装包比比皆是,而这还只是安装包。
大家都知道android的apk是zip格式的,解压后,就可以看到本体了,微信安装包解压后大小已经达到了M,包含了个文件。
作为对比,微信.版只有个文件。
那么到底是那些东西占用了大量空间呢?
微信版资源文件包括的各种图片文件,视频、音频文件,比如微信铃声、各种图标等。
另外,原作者也提到新版微信应该是公司内部不同开发组做的,导致资源管理非常混乱,各顾各的,最后缝在一块,
所以,会有重复的情况,有些资源命名也直接使用的是拼音。
lib文件夹存放了各种库文件,这是安装包的大头。
在程序开发里,很多时候都使用了第三方库,而不是从零编起,
以微信为例,我要支持在线解压,那包含一个-zip库。
我要支持视频播放(mp,ogg,avi等),那就把ffmpeg库打包进去。
我要支持图片在线编辑,那把pngedit库包含进去
这些第三方库都是打包好的,很难再压缩。微信一共使用了个库文件。
程序本体也就是程序自己实现的主要功能,新版大小为M,而 V.版本只有.M,换句话说,但就聊天而言
微信只要.M就能实现核心聊天功能,去掉零头,在M的程序本体里,M都可以去掉不要(当然这是有点夸张的说法)。
进一步反编译可以看到在v.里使用了个string就能实现新版 个string实现的聊天功能。
因此,你可以看想象到微信里面塞了多少内容。
所以,微信中.%的功能是聊天,剩下的.%都是塞给你的,什么打车、游戏、外卖、视频等等,
软件包越来越大的企业不止微信,比如X浏览器使用M就实现了浏览器的核心功能(充分利用操作系统自带的功能),而UC浏览器就达到了M。
每个大企业都没有安全感,都把游戏、视频、外卖等往里塞。
刚刚,支付宝又提示有新的更新包,要我升级了。
对比一下美国的 Facebook大小是.M,Twitter 安装包M,谷歌地图M(百度地图M),都尽可能控制在M以内。
如今,虽然硬件急速发展,手机核或核,内存或者都已经算是最低配置了,
但是如果每个软件越来越大,再大的硬件配置也不够软件使用。