ios版的app容量真的比安卓大好几倍吗,安卓比ios好的地方

之前也有不少果粉跟小编(公众号:果粉之家)说,买苹果手机就是入坑了,APP的体积都是安卓的好几倍,难怪我的16GB一直提示:存储空间不足!
但事实真的是这样的吗?小编特地找了两部手机进

本文最后更新时间:  2023-03-08 08:28:41

之前也有不少果粉跟小编(公众号:果粉之家)说,买苹果手机就是入坑了,APP的体积都是安卓的好几倍,难怪我的16GB一直提示:存储空间不足!

但事实真的是这样的吗?小编特地找了两部手机进行下载安装测试下,其中安卓手机使用的是OPPO R11,苹果手机使用的是iPhone6s,虽然不同机型的APP容量大小也略有差别,但总体上差距不大。

以下是在APPSTORE和安卓市场上下载APP时的容量大小对比图:

(未安装前IOS版微信APP的容量是安卓版的将近3倍大小)

(未安装前IOS版QQ APP的容量是安卓版的将近3.5倍大小)

(未安装前IOS版微信APP的容量是安卓版的将近2.3倍大小)

(未安装前IOS版微信APP的容量是安卓版的将近3倍大小)

所以总体来说IOS版的APP安装包大小确实比安卓版的大上好几倍。

接下来我们来看下载安装并打开APP后,IOS版和安卓版APP占用空间大小对比图。

IOS VS Android

微信:126.3MB VS 106MB

微博:136.5MB VS 99.5MB

支付宝:164.3MB VS 175MB

QQ:144.9 MB VS 152MB

大家会很惊讶的发现,安卓版APP安装后的容量激增,占用的空间与IOS版相差无几,有的甚至更大。小编(公众号:果粉之家)测试的这四个APP中,其中微信和微博 IOS版的容量会稍微大一点,而支付宝和QQ占用的空间安卓版APP会更大一些,所以2比2平。

安卓版的APP安装后容量会激增,而IOS版的APP安装后不但容量不会增长,反而会减少哦。

上面这张图片是刚安装完成APP 未打开时的IOS版 APP占用空间大小。

QQ安装前是:151MB,安装后是:138.7MB

微信安装前是:123MB , 安装后是122.3 MB

支付宝安装前是:137MB,安装后是125.6MB

微博安装前是:118MB ,安装后是109.7MB

从以上的详细对比中咱们可以明显的看出,安卓版APP的安装过程是一个类似于解压和编译的过程,安装代码在执行完成后真实的文件大小才会释放出来,这有点像电脑程序安装一样。而IOS版的APP的安装过程更像是个复制文件的过程,快速而且不产生多余的文件,甚至安装完成后,自动删除了一些不需要的依赖文件,所以安装完后占用空间反而更小,看来小伙伴们这次是真的误会苹果公司了哦。

超能课堂系列:为什么iOS的APP比安卓大好几倍

本文转载自超能网,其它媒体转载需超能网同意

大家如果细心的话,可能会发现在Android的应用商店和iOS的App Store上,同一个APP,iOS版标注的APP所需容量大小要远比Android大好几倍,比如一个QQ,在Google Play Store上只有34MB,但在App Store上居然有231MB之巨,这使得不少用户以为iOS浪费存储空间,甚至一些阴谋论都出来了。

那么为什么会出现这种情况呢?


iOS的APP比Android大这么多?

这问题放在过去,有个流行的说法是,由于苹果的iPhone、iPad有好几种不同的屏幕分辨率,所以iOS的APP里面包含了几套图像资源,导致了App占用巨大,而Android系统中对图像的处理要求不高,所以不同设备用了通用的资源,APP自然就小了。

这个解释虽然有一定的道理,但放在今时今日就不大成立了。所以下面要讲讲两个系统的APP文件大小有什么不一样。

安装文件分析

我们都知道,在Android中的安装文件类型为apk,iOS为ipa,其实简单来讲,这两个安装文件都是个压缩包。

以微信APP的apk(版本为6.5.10)为例,原文件大小在Windows上(NTFS文件系统)显示为44.1MB,经过WinRAR解压缩后占用空间为93.7MB。 而微信APP的ipa(版本为6.5.11)原文件大小为145MB,解压缩后占用186MB。

咋一看,ipa无论解压缩都确实要比apk大上不少,那来看看两个系统的安装文件里面包含了什么。


微信apk对比ipa文件大小

一个apk文件解压缩后,主要有assets、lib、META-INF、r、AndroidManifest.xml、classes.dex、resources.arsc这几个文件和文件夹。


微信apk内含文件和文件夹

当然这里不是编程课堂,所以只讲下这些文件中占容量最大的一般是assets目录、lib目录、res目录和classes.dex文件。

- assets目录存放静态文件,app需要用到一些音效、字体、表情包等都在此。

- lib目录为依赖库文件,现在的apk大多都是包含armeabi的lib库,如果apk兼容x86,还会有x86的依赖库,这样这个目录就会更大一点了。

- r即res、resource目录,主要存放资源文件,如图片、影像文件。

- classes.dex文件则是Android中Dalvik虚拟机的可执行文件,由JAVA下的class文件编译而来。

iOS的ipa安装包则相对简单一些,主要文件夹为Payload,在Windows上会显示里面有一个APP名字命名的文件夹,如微信为WeChat.app,包括了APP所有需要的执行和资源文件。


微信ipa主要文件夹为WeChat.app

对比两个安装文件,微信APP的主执行文件为WeChat,文件大小为132MB,其它文件其实只有54MB。Android的主执行文件包括classes.dex文件和lib目录,微信APP里面这些文件大小为52.6MB,而其它文件为41.7MB。


iOS版微信主执行文件大小


Android版微信主执行文件大小

由此可见,两个系统的同样一个APP,安装包里面除开主要的执行文件,其它资源文件占用空间大小相差不多,并非是文章开头所说的不同苹果设备需要不同的套图,导致安装文件巨大。

但仅从安装文件来看,iOS的APP确实要比Android版的大好几倍,那下面还要讲到两个系统的APP安装机制。

APP安装机制

以前Android主要采用Dalvik虚拟机,执行apk中的classes.dex文件,但后来为了提高APP启动和运行速度。从4.4.4版本开始,Android换用了ART虚拟机,apk安装到系统的过程中会进行预编译,把apk中的dex文件编译成oat文件,把字节码经过JIT即时编译器转换为机器识别码,所以apk安装包中有关程序部分的文件更像是一堆代码,占用空间较小。


Android 4.4开始引入的ART虚拟机

iOS则不一样,由于iOS最早是基于mac电脑上的OS X同源开发,所以在APP的安装方式上也相似,简单来说iOS的APP本身就是一个大文件夹,类似Windows上解压即用的绿色软件,当你从App Store中下载安装到iPhone上,更像是一个复制文件的过程。

Android的安装机制,使得APP安装文件的大小,不代表安装到手机上之后的大小,而在iOS上则是安装文件有多大,安装完后基本上也是多大。那么实际情况如何呢?

实测APP安装后占用空间

这里在基于Android 7.1.2的Lineage 14.1和iOS 10.3.2系统上,对比微信和网易云音乐两个APP在应用商店上文件大小和安装后文件大小。

在应用商店上,微信APP的标注大小仅为44.1MB,但事实上APP安装完成后,查看大小却增大到104MB。网易云音乐APP标注大小为29.8MB,安装后为54.33MB。


Android上微信


Android上网易云音乐

App
Store上微信APP的标注大小为123MB,下载安装完后为121.3MB,应用大小却变小了,网易云音乐APP同样更是标注103MB,安装完成后为89.8MB,这是由于测试使用的是iPhone
SE,App Store上标注的大小应该是以iPhone 7 Plus作标准的。

这也说明在App下载安装过程中,App Store会根据设备型号来适配必要的文件。


iOS上微信
iOS上网易云音乐

可以明看到,Android在安装APP后大小出现翻倍的情况,因为前面提到,现在Android系统安装APP过程中会进行编译,所以装完后APP真正的占用空间大小就出来了,这也解答了不少网友向小超哥(微信9501417)询问,在Android上安装一个才十几MB的APP,装完后存储空间不见了上百MB的疑问。

Android应用商店上只是显示APK安装文件的大小,而在App Store上显示的APP大小是安装到手机后的占用空间大小。

这样的好处是,用户们会很直观地知道自己手机还够不够容量安装新的APP,而不会出现明明手机设置里面显示还有几十MB空余存储,却连个十几MB的APP都安装不进的困惑。

当然Android更小的安装文件方便下载到手机上,现在最新Android 7.1.2已经大幅提升安装APP速度,只是在安装之前,大家要注意预留2-3倍于安装文件的存储空间。

总结来看,本期课堂提出的“为什么iOS上APP比Android大几倍”其实是个伪问题,真实的情况是:

- App Store上标注的APP大小是安装之后的大小,Android应用商店大多只是显示安装文件的大小

- Android安装APP后,占用空间其实和iOS版相差不大

为什么苹果安装的软件比其他手机安装的软件要大?比如同一款APP安卓的要30多兆,苹果的要200多兆

安卓的应用安装后只提取程序的执行文件,程序的图片,数据,都还在压缩的安装包内,每次启动,都要从安装包内再解压提取资源文件,因此占用空间小,毕竟都压缩了。
而苹果的iOS每次下载完ipa安装包。直接把执行文件和数据,资源等一起解压到程序目录,而且iOS要匹配不同分辨率的设备,因此占用空间较大。
就是安卓把软件压缩了,节省空间,但相对较慢,苹果都解压了,占用空间,但相对较快。
苹果IOS,你在appstore下载软件后安装完安装包都会删除,不会占地方,而安卓的google play也会删除,但大多数人用的都是国产的软件商店,安装包都可以选择是否删除的。
苹果软件卸载直接在主屏幕上长按图标至抖动,然后按右上角的 x 即可卸载应用。
温馨提示:内容均由网友自行发布提供,仅用于学习交流,如有版权问题,请联系我们。