Android和iOS中的应用文件大小差异

与两个应用程序分发服务(安卓市场和苹果应用程序商店)工作,我发现了一个谜。

苹果应用程序的应用程序的文件大小通常比Android应用程序大。 我似乎无法find任何解释的差异,这似乎是一个未触及的主题。

我已经尝试了不同的应用程序的分配,差异似乎在几MB到6-8 MB之间变化。 所以问题是,苹果应用程序的文件大小如何? 什么是额外的MB用于?

例子:

BBC:

Android:918K – https://market.android.com/details?id=bbc.mobile.news.ww

苹果:6.7 MB – http://itunes.apple.com/dk/app/bbc-news/id364147881?mt=8

由于一些垃圾邮件的防范,我无法直接链接到其余的。

英国航空

Android:1.2 MB

苹果:7.9 MB

北方银行

Android:2.1 MB

苹果:6.4 MB

美国银行

Android:727K

苹果:2.1 MB

我可以继续…如果任何人都可以提供两个应用程序分发的文件大小的统计数据,确认或否认我的理论。 – 我将不胜感激。

Solutions Collecting From Web of "Android和iOS中的应用文件大小差异"

我刚刚花了最后一天左右,试图跟踪这个确切的问题。 我已经构build了一个名为BlockIT for Android的小游戏,现在我有一个适用于iOS的运行版本。 非常奇怪的是,Android版本是8.2 MB,iOS版本是14.1 MB。

现在,因为我是源的所有者,所以我想跟踪下来,找出原因。 正如很多人在这里所说,这是graphics元素 – 事实并非如此。 整个数据集(非代码)在每个包中几乎相同。 这是有道理的,因为我在每个应用程序中使用相同的graphics。

那么,为什么代码的构build有很大的不同! 我的iOS代码版本接近7 MB,Android版本less于3 MB。 代码本身被编写为相同的运行,并且在每个平台上代码的所有小部分都是完全相同的。 我发现,构build(iOS gcc)设置对获得的输出大小有很大的影响。 如果你只设置目标ARM6或ARM7那么我的代码二进制大小从7 MB下降到5 MB。 这表示在一个二进制文件中,每个目标函数和库几乎完全重复! 此外,内置的debugging符号似乎不会被完全剥离。 最后,代码的encryption也花费大量。 这可能是最令人费解的,因为Android以类似的方式签署他们的apk。 这似乎是iOS签署非常奇怪。

所以,我希望有所帮助。 重申:
– 图像/数据似乎不是问题
– 在iOS上的代码生成在一个二进制生成多个平台输出==许多额外的代码(顺便说一句,我不知道为什么苹果这样做 – 似乎很奇怪)。
– 在iOS上,代码encryption的尺寸不是很大。

有没有真正的办法来解决实际问题(再次,奇怪和令人失望)。

在iOS应用程序中的二进制可执行文件是encryption的,因此压缩很差甚至根本不压缩。 iOS应用程序中的二进制可执行文件是用一些静态链接的库代码编译的,对于类似的东西,这通常可能比解释的Dalvik字节代码大。 iPhone应用程序倾向于包含更高质量的graphics内容和艺术作品,以适应多种屏幕分辨率,包括较大的iPad显示屏。

对于iPhone中的通用应用,我们需要放置三种尺寸的图像 –

一个为320×480像素
秒为640×940像素(视网膜)
第三个为768×1024(iPad)

在开发Android应用程序的同时,我们需要把三种图像 –

hdpi(高)
mdpi(中)
ldpi(低)

还有一件事在Android这里没有强制性的规则,把所有三种图像。 基本上这取决于你正在制作的应用程序的目标,只有这些决议我们需要把图像。

在我看来,苹果开发人员正在使用更多的全屏大小的图像(在低清晰度和视网膜)和更多的图像比Android,用户界面定义文件(.XIB)比Android中使用的XML文件大得多。 压缩包装(.APK)的压缩也应该是如此巨大的压缩! 最后也许包括框架的差异,但在这一点上我不知道:)