12

我正在使用 Xamarin iOS 开发一个相当简单的应用程序,我为 .app 文件获得的最小大小是 13.5 MB。

我已经执行了所有推荐的优化 - 无调试符号、LVVM 代码生成、thumb-2、链接所有程序集、仅单一架构 (ARMV7)。

第一个问题是,我的 13.5 MB 听起来像是 Xamarin iOS 所期望的,还是我可能做错了什么?

第二个问题是,Xamarin iOS 为等效的本机实现增加了多少额外的大小开销(大约)?

第三个问题是,使用 Xamarin iOS 可以将 Hello World 应用程序编译到多大程度?

第四个问题是,一个原生的 Hello World 应用程序大概可以编译到多小?

4

2 回答 2

9

.dSYM是一个包含调试符号的目录。这不是您作为应用程序的一部分(给您的最终用户)提供的东西。请注意,即使在非调试版本中也会产生这种情况,因为它允许您符号化崩溃报告(来自运行发布二进制文件的最终用户)。

对于真正的应用程序大小,您需要查看.app目录。

通过观看今年的Evolve视频Advanced iOS Buildmechanism,您可以学到很多减少应用程序大小(和构建时间)的技巧。这也将回答您的其他问题。

于 2013-09-25T16:58:44.353 回答
2

正如人们所料,Xamarin 应用程序在发布模式下要大一些。例如,查看我的两个发布应用程序的二进制文件,二进制 + dll 大约为 12m 和 18m(我想我需要研究为什么 18m 的文件要大得多......)。我猜如果我在 Objective-c 中完成这些,根据过去构建原生应用程序的经验,它们的大小应该是原来的一半左右。

如果您正在运行调试硬件构建,它们是巨大的. 上面的 12m 示例对于二进制 + dll 跳转到 96M(?!)。在我检查这个之前,我认为它们的大小翻了一番来处理软件调试器,但我想还有很多我不知道的其他废话。

于 2013-09-25T21:07:32.730 回答