细心的人可能会发现,同样的应用iOS要比安卓大很多,比如同一版本QQ,在谷歌市场上只显示有34.4MB大,而在App Store上却有231MB,差不多是七倍于前者,iOS系统真的就这么占空间?
咱们也不谈什么阴谋论了,直接下载APP安装后再看看,以微信和网易云音乐这两个APP为例。
在安卓上,微信的安装包大小为44MB,安装后显示应用占据了104MB,网易云音乐安装包大小为30MB,安装后应用大小为54MB,从中不难发现,安卓中安装包大小并非是真正的应用安装所需空间,而是要比安装包大不少,这又是为什么呢?
再看看iOS上的情况,微信安装包大小为123MB,安装后应用大小为121MB,网易云音乐安装包大小为103MB,安装后应用大小为90MB,嗯?安装后大小居然比安装包还要小了。
现在我们可以得到如下结论:
1、安卓应用安装包的大小远远小于安装后应用实际占据空间大小;
2、iOS应用安装包大小比安装后应用实际占据空间要大;
3、安装后,安卓应用的大小比iOS应用的大小还是要小一些,但基本上是一个量级的了。
为什么会出现这样的情况,这还得从它们的安装机制谈起。从4.4.4版本开始,安卓换用了ART虚拟机,应用安装文件APK在安装过程中会进行预编译(你会觉得安装时间比以前要慢很多),把字节码经过JIT编译器转换为机器识别码,如此这样一来,安装后的大小经过解释编译就会变得大了很多。
但是iOS就不一样了,它是基于OS X同源开发来的,在应用安装上也近似,它的应用其实就是个绿色应用包,复制过来即可用,不需要再做什么处理,当然还有点变化,那就是原始的安装包包含有全部手机系统的资源,但是你安装时,它会适配当前机型,只释放对应的资源,所以实际安装后的容量大小比安装包还是小了。
总结:
看到这里相信你就可以明白,为什么同样的应用iOS要比安卓大很多的原因了,关键就是在于ios的app在装到手机上时不需要编译,而安卓的app是需要编译的。
ios app体积大的原因 图解1
咱们也不谈什么阴谋论了,直接下载APP安装后再看看,以微信和网易云音乐这两个APP为例。
安卓上微信
在安卓上,微信的安装包大小为44MB,安装后显示应用占据了104MB,网易云音乐安装包大小为30MB,安装后应用大小为54MB,从中不难发现,安卓中安装包大小并非是真正的应用安装所需空间,而是要比安装包大不少,这又是为什么呢?
iOS上微信
iOS上网易云音乐
再看看iOS上的情况,微信安装包大小为123MB,安装后应用大小为121MB,网易云音乐安装包大小为103MB,安装后应用大小为90MB,嗯?安装后大小居然比安装包还要小了。
现在我们可以得到如下结论:
1、安卓应用安装包的大小远远小于安装后应用实际占据空间大小;
2、iOS应用安装包大小比安装后应用实际占据空间要大;
3、安装后,安卓应用的大小比iOS应用的大小还是要小一些,但基本上是一个量级的了。
为什么会出现这样的情况,这还得从它们的安装机制谈起。从4.4.4版本开始,安卓换用了ART虚拟机,应用安装文件APK在安装过程中会进行预编译(你会觉得安装时间比以前要慢很多),把字节码经过JIT编译器转换为机器识别码,如此这样一来,安装后的大小经过解释编译就会变得大了很多。
但是iOS就不一样了,它是基于OS X同源开发来的,在应用安装上也近似,它的应用其实就是个绿色应用包,复制过来即可用,不需要再做什么处理,当然还有点变化,那就是原始的安装包包含有全部手机系统的资源,但是你安装时,它会适配当前机型,只释放对应的资源,所以实际安装后的容量大小比安装包还是小了。
总结:
看到这里相信你就可以明白,为什么同样的应用iOS要比安卓大很多的原因了,关键就是在于ios的app在装到手机上时不需要编译,而安卓的app是需要编译的。