我正在考虑使用MonoTouch的一些iPhone的发展,但有效载荷的大小是一个重要因素。

有关从来没有谁对他们的iPhone安装单之前用户,你会一个Objective-C的“Hello World”应用程序的大小相比,MonoTouch的“Hello World”的应用程序?

更具体地,什么是约要下载需要的字节数,什么是约。用过一旦安装字节数?

有帮助吗?

解决方案

一个 “世界你好” Objective-C中的程序占用50 KB(整体。应用程序文件夹)。 随着MonoTouch的,类似的“Hello World”应用程序占据5 MB(全名为.app文件夹),这是不坏考虑它与它的垃圾收集运行时。

其他提示

<强>在1.5 MonoTouch的

一个发布版本 - 这是一个与流通许可证构建的应用程序 - 与什么,但默认的项目设置,为5 MB。该4.3 MB的是二进制可执行文件。

他们往往上升到高达10 MB在我的经验,以及论坛漆相同的画面。 AppStore的报告解压缩后的大小,但是在下载压缩。拉链,其为大约3 MB其中,即使是在3G,是好的。

在我看来,大多数人不会看文件大小在下载应用之前,也没有特别在意。 作为3G下载AppStore的限制现在是20 MB 这是很好MonoTouch的大小之内。

要唱唱反调,是的,它比的Objective-C相当于大很多订单,并可能吓跑一些人担心他们占用16 GB空间的4-10 MB以上。不过也有上市时间和可用于.NET现有的工具。我开发的的建立在Visual Studio中所有的应用程序的MonoTouch 2010然后测试它们在Mac上,我不认为苹果甚至会认为他们的IDE接近同行业的佼佼者。

从上 MonoTouch的和可执行的尺寸这样一个问题:

  

MonoTouch的不翻译成的OBJ-C。它编译成.NET IL,然后   编译一个(在相同的方式JIT编译器,但它的前   运行 - 。因此“提前时间”编译器)成原生ARM代码

     

这样:

     

的OBJ-C - > GCC(或LLVM) - > ARM代码

     

VRS MT:

     

C# - > IL - >(AOT编译器) - > ARM代码

     

在3.x的输出二进制文件是较大的,因为你还包括一个   很多的 .NET框架的(井,单声道框架,但同相同),所以如果   你,对于例如,使用的System.Xml,它必须包含到输出 -   同样与System.dll中等等。链接是非常聪明,但输出   二进制文件总是要的

     

对我来说,唯一重要的事情大小是负载时间,并压缩   二进制文件的大小。一个“世界你好”的拉链二进制程序是约2.5-3meg   (的在4.x的较小我被告知)约的 300K 作为OBJ-C VRS。区别   变得越来越少添加,因为它仅包含的喜欢更   system.dll中一次。加载时间MT VRS的OBJ-C,在做同样的事情   同时,足够接近相同。任何一个都可能要进行   加载速度过慢(只是做一些长期运行在您的FinishedLaunching   不把它在另一个线程上)。

回答者接着说,他觉得自己比Objective-C的更高效使用MonoTouch的。 YMMV。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top