iOS的APP比安卓大好几倍的原因分析

2017-07-15 08:55大爱18 的分享

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

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

iOS的APP比安卓大好几倍的原因分析   三联

  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大上不少,那来看看两个系统的安装文件里面包含了什么。

为什么iOS的APP比安卓大好几倍?

  微信apk对比ipa文件大小

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

3

  微信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所有需要的执行和资源文件。

4

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

TA发布的帖子

910

收藏

907

好文推荐

  •   有不少网友表示不知道如何去除 iPhone 左下角显示的“基于位置的提醒”。下面小编整理了iphone基于位置的提醒怎么关教程,一起来看吧!  其实这个 ...

  •   苹果昨天向开发者发布了 iOS 11 第三个测试版,距离第二个测试版相隔两周多的时间。iOS 11 Beta 2 只是修复了一些 Beta 1 中出现的错误,而这次的 Beta 3 则 ...

  •   快用苹果助手移动端在备份通讯录资资料后,出现备份资料丢失的问题怎么办?如果你出现了备份资料丢失的问题,可能是因为在备份资料时打开iCloud对应功能的原因 ...