安卓和ios内存差距为什么那么大 iOS的APP比安卓大好几倍原因
安卓和ios内存为什么差距那么大,同一个APP,在iPhone上下载大几十MB,而安卓却是十几MB。下面,我们来看看iOS的APP比安卓大好几倍原因。
大家如果细心的话,可能会发现在Android的应用商店和iOS的AppStore上,同一个APP,iOS版标注的APP所需容量大小要远比Android大好几倍,比如一个QQ,在Google PlayStore上只有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、、、这几个文件和文件夹。
微信apk内含文件和文件夹
当然这里不是编程课堂,所以只讲下这些文件中占容量最大的一般是assets目录、lib目录、res目录和文件。
- assets目录存放静态文件,app需要用到一些音效、字体、表情包等都在此。
-lib目录为依赖库文件,现在的apk大多都是包含armeabi的lib库,如果apk兼容x86,还会有x86的依赖库,这样这个目录就会更大一点了。
- r即res、resource目录,主要存放资源文件,如图片、影像文件。
- 文件则是Android中Dalvik虚拟机的可执行文件,由JAVA下的class文件编译而来。
iOS的ipa安装包则相对简单一些,主要文件夹为Payload,在Windows上会显示里面有一个APP名字命名的文件夹,如微信为,包括了APP所有需要的执行和资源文件。
微信ipa主要文件夹为
对比两个安装文件,微信APP的主执行文件为WeChat,文件大小为132MB,其它文件其实只有54MB。Android的主执行文件包括文件和lib目录,微信APP里面这些文件大小为52.6MB,而其它文件为41.7MB。
iOS版微信主执行文件大小
Android版微信主执行文件大小
由此可见,两个系统的同样一个APP,安装包里面除开主要的执行文件,其它资源文件占用空间大小相差不多,并非是文章开头所说的不同苹果设备需要不同的套图,导致安装文件巨大。
但仅从安装文件来看,iOS的APP确实要比Android版的大好几倍,那下面还要讲到两个系统的APP安装机制。
APP安装机制
以前Android主要采用Dalvik虚拟机,执行apk中的文件,但后来为了提高APP启动和运行速度。从4.4.4版本开始,Android换用了ART虚拟机,apk安装到系统的过程中会进行预编译,把apk中的dex文件编译成oat文件,把字节码经过JIT即时编译器转换为机器识别码,所以apk安装包中有关程序部分的文件更像是一堆代码,占用空间较小。
Android 4.4开始引入的ART虚拟机
iOS则不一样,由于iOS最早是基于mac电脑上的OSX同源开发,所以在APP的安装方式上也相似,简单来说iOS的APP本身就是一个大文件夹,类似Windows上解压即用的绿色软件,当你从AppStore中下载安装到iPhone上,更像是一个复制文件的过程。
Android的安装机制,使得APP安装文件的大小,不代表安装到手机上之后的大小,而在iOS上则是安装文件有多大,安装完后基本上也是多大。那么实际情况如何呢?
实测APP安装后占用空间
这里在基于Android 7.1.2的Lineage 14.1和iOS10.3.2系统上,对比微信和网易云音乐两个APP在应用商店上文件大小和安装后文件大小。
在应用商店上,微信APP的标注大小仅为44.1MB,但事实上APP安装完成后,查看大小却增大到104MB。网易云音乐APP标注大小为29.8MB,安装后为54.33MB。
Android上微信
Android上网易云音乐
AppStore上微信APP的标注大小为123MB,下载安装完后为121.3MB,应用大小却变小了,网易云音乐APP同样更是标注103MB,安装完成后为89.8MB,这是由于测试使用的是iPhoneSE,App Store上标注的大小应该是以iPhone 7 Plus作标准的。
这也说明在App下载安装过程中,App Store会根据设备型号来适配必要的文件。
iOS上微信
iOS上网易云音乐
可以明看到,Android在安装APP后大小出现翻倍的情况,因为前面提到,现在Android系统安装APP过程中会进行编译,所以装完后APP真正的占用空间大小就出来了,这也解答了不少网友向小超哥(微信9501417)询问,在Android上安装一个才十几MB的APP,装完后存储空间不见了上百MB的疑问。
Android应用商店上只是显示APK安装文件的大小,而在AppStore上显示的APP大小是安装到手机后的占用空间大小。
这样的好处是,用户们会很直观地知道自己手机还够不够容量安装新的APP,而不会出现明明手机设置里面显示还有几十MB空余存储,却连个十几MB的APP都安装不进的困惑。
当然Android更小的安装文件方便下载到手机上,现在最新Android7.1.2已经大幅提升安装APP速度,只是在安装之前,大家要注意预留2-3倍于安装文件的存储空间。
总结来看,本期课堂提出的“为什么iOS上APP比Android大几倍”其实是个伪问题,真实的情况是:
- App Store上标注的APP大小是安装之后的大小,Android应用商店大多只是显示安装文件的大小
- Android安装APP后,占用空间其实和iOS版相差不大
-
iPhone14Pro支持5G吗 iPhone14Pro支持wifi6吗
近日网上曝光了iPhone14Pro实物图片,这意味着距离iPhone14Pro的发售又近了一点!那么此次苹果新出的iPhone15Pro是否支持5G、wifi6呢?可以插双卡吗?是否值得入手呢?下面一起来看看吧!iPhone14Pro支持5G吗这次iphone14将会搭载的是高通骁龙的X65基带芯片,并且支持5G网络...
-
小米MIXFold3首发评测 小米MIXFold3价格
昨日的小米新品发布会大家有关注吗?其中这款小米MIXFold3关注度是最高的,而且将于今日10点正式开售了,小伙伴们准备好钱包了吗?大家知道小米mixfold3详细参数配置吗?小米就和小编一起来看看吧。小米MIXFold3首发评测相比上一代,这次的折叠屏进化的非常全面,主要是性能...
-
chatgpt哪里下载?chatgpt入口
近日ChatGPT火了,用户直接突破了1亿,热度直接超越了ai,不过很多国内的小伙伴还不知道在中国怎么去使用ChatGPT,入口在哪里?怎么下载使用呢?下面一起来了解一下吧。chatgpt哪里下载?使用方法:1、下载Chatgpt安卓版的ChatGpt下载链接:点击链接即可保存。链接:夸克网盘分享2...
-
双十二iPad会降价吗?双十二iPadair5有优惠吗?
马上就要到双十二,需要入手平板的小伙伴们都在关注2021iPad,iPadair5等产品的价格会不会下降,能便宜多少呢?下面就和小编一起来看看2022双十二iPad降价的相关信息。双十二iPad会降价吗?理论会,但不要抱太大预期会降多少,因为两个点:1、6.18、双11是绝大部分商家全年最...
相关文章
- 皇图2手游安卓和ios数据可以互通吗 安卓和ios能一起玩吗
- QQ炫舞手游安卓和IOS能组队吗 安卓和IOS数据互通吗
- 魔渊之刃安卓和ios数据互通吗 安卓和ios互通机制介绍
- 韩国操作系统TmaxOS怎么样 兼容安卓、iOS和Windows
- ios为什么比安卓流畅 安卓为什么越用越卡
- 小米枪战大逃杀安卓苹果能够互添好友么 安卓和IOS可以互相添加好友么
- 荒野行动IOS可以和安卓一起玩么 荒野行动即将支持IOS和安卓互通服务器
- 无尽战区觉醒iOS和安卓可以一起玩吗 苹果iOS安卓互通版本下载地址
- 明日方舟ios和安卓互通吗 ios和安卓能加好友一起玩吗
- 神无月手游ios和安卓数据互通吗 ios和安卓可以一起玩吗