iOS版APP安装包通常比安卓版大几倍,这并非因为iOS系统浪费存储空间,而是由于两者安装文件格式和机制不同。本文将深入解析iOS和安卓APP安装包大小的差异,以及安装后的实际占用空间,帮助读者理解这一现象背后的原因。
—
文章标题:iOS版APP安装包为何比安卓大几倍?背后原因解析
文章内容:
你是否发现,在iOS的App Store和安卓的应用商店中,同一个APP的iOS版安装包大小往往远超安卓版?例如,QQ在Google Play Store上只有34MB,而在App Store上却高达231MB。这导致不少用户误以为iOS系统浪费存储空间,甚至引发了一些阴谋论。那么,为什么会出现这种情况呢?
过去有一种流行的说法是,由于苹果的iPhone和iPad有多种不同的屏幕分辨率,iOS APP需要包含多套图像资源,导致安装包巨大。而安卓系统对图像处理要求不高,使用通用资源,因此APP更小。然而,这一解释在当今已不再适用。下面,我们将详细探讨iOS和安卓APP安装包大小的差异。
安装文件分析
在安卓中,安装文件类型为APK,而在iOS中为IPA。简单来说,这两种安装文件都是压缩包。以微信APP为例,其安卓版(6.5.10)原文件大小在Windows上显示为44.1MB,解压缩后为93.7MB。而iOS版(6.5.11)原文件大小为145MB,解压缩后为186MB。
从表面上看,IPA文件确实比APK大得多。那么,这两种安装文件究竟包含哪些内容呢?
微信APK与IPA文件大小对比
一个APK文件解压缩后,主要包含以下几个部分:assets目录、lib目录、META-INF目录、r目录、AndroidManifest.xml文件、classes.dex文件和resources.arsc文件。
微信APK内含文件和文件夹
虽然这里不是编程课堂,但简单来说,APK文件中占容量最大的一般是assets目录、lib目录、res目录和classes.dex文件。
- assets目录:存放静态文件,如音效、字体、表情包等。
- lib目录:依赖库文件,包含armeabi和x86的库文件。
- r目录:存放资源文件,如图片、影像文件。
- classes.dex文件:Android中Dalvik虚拟机的可执行文件。
iOS的IPA安装包相对简单,主要包含Payload文件夹,其中有一个以APP名称命名的文件夹,如微信为WeChat.app,包含了所有执行和资源文件。
微信IPA主要文件夹为WeChat.app
对比两个安装文件,微信APP的主执行文件为WeChat,文件大小为132MB,其它文件为54MB。而安卓版的主执行文件包括classes.dex文件和lib目录,文件大小为52.6MB,其它文件为41.7MB。
iOS版微信主执行文件大小
Android版微信主执行文件大小
由此可见,两个系统的同样一个APP,安装包中除主要执行文件外,其它资源文件占用空间大小相差不多。并非像最初所想的不同苹果设备需要不同的图像资源,导致安装文件巨大。但仅从安装文件来看,iOS的APP确实比安卓版大几倍。下面,我们将探讨两个系统的APP安装机制。
APP安装机制
以前,安卓主要使用Dalvik虚拟机执行APK中的classes.dex文件。但从4.4.4版本开始,为了提高APP启动和运行速度,安卓改用了ART虚拟机。在安装过程中,APK会进行预编译,将dex文件编译成oat文件,将字节码通过JIT即时编译器转换为机器识别码。因此,APK安装包中有关程序部分的文件更像是一堆代码,占用空间较小。
Android 4.4开始引入的ART虚拟机
iOS则不同,由于iOS最早是基于mac电脑上的OS X同源开发,因此在APP的安装方式上也相似。简单来说,iOS的APP本身就是一个大文件夹,类似Windows上的绿色软件。当你从App Store中下载安装到iPhone上时,更像是一个复制文件的过程。
安卓的安装机制使得APP安装文件的大小不代表安装到手机后的实际大小,而在iOS上,安装文件有多大,安装完后基本上也是多大。那么实际情况如何呢?
实测APP安装后占用空间
这里基于Android 7.1.2的Lineage 14.1和iOS 10.3.2系统,对比微信和网易云音乐两个APP在应用商店上的文件大小和安装后的实际占用空间。
在应用商店上,微信APP的标注大小仅为44.1MB,但安装完成后,实际占用空间增大到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上网易云音乐
可以看出,安卓在安装APP后大小出现翻倍的情况,因为安卓系统在安装过程中会进行编译,所以安装完后APP的实际占用空间就出来了。这也解答了不少网友的疑问,即在安卓上安装一个十几MB的APP,装完后存储空间却不见了上百MB。
安卓应用商店只显示APK安装文件的大小,而在App Store上显示的APP大小是安装到手机后的实际占用空间。这样的好处是,用户可以直观地知道自己手机还够不够容量安装新的APP,而不会出现明明手机设置里显示还有几十MB空余存储,却连个十几MB的APP都安装不进的困惑。
当然,安卓较小的安装文件更方便下载,现在最新安卓系统(如7.1.2)已经大幅提升安装APP速度,只是在安装之前,大家需要注意预留2-3倍于安装文件的存储空间。
总结
综上所述,“为什么iOS上APP比安卓大几倍”其实是个伪问题。真实的情况是:
- App Store上标注的APP大小是安装之后的大小,而安卓应用商店大多只显示安装文件的大小。
- 安卓安装APP后,占用空间其实和iOS版相差不大。
—
文章tag标签:{1、iOS APP大小,2、安卓 APP大小,3、APP安装包,4、存储空间,5、临界区关键词,6、安装机制,7、应用商店,8、文件大小对比}
本文是基于《iOS版APP比安卓大几倍?背后原因究竟是什么?》的AI重写版本
评论(0)