我正在使用Xamarin iOS开发一个相当简单的应用程序,我为.app文件获得的最小尺寸是13.5 MB。
我已经执行了所有推荐的优化 - 没有调试符号,LVVM代码生成,thumb-2,链接所有程序集,仅限单一体系结构(ARMV7)。
第一个问题是,我的13.5 MB听起来像Xamarin iOS的预期,或者我可能做错了什么?
第二个问题是,Xamarin iOS增加了多少额外的大小开销(粗略地)?
第三个问题是,大概有多小的Hello World应用程序可以编译成使用Xamarin iOS?
第四个问题是,本地Hello World应用程序大概可以编译成多少?
答案 0 :(得分:9)
.dSYM
是包含调试符号的目录。这是不您作为应用程序的一部分(向最终用户)发送的内容。请注意,这甚至在非调试版本中也会生成,因为它允许您对崩溃报告进行符号化(来自运行发布二进制文件的最终用户)。
对于真实的应用程序大小,您需要查看.app
目录。
通过观看今年Evolve视频 Advanced iOS Build mechanics ,您可以了解相当多的技巧来减少应用程序的大小(和构建时间)。这也将回答你的其他问题。
答案 1 :(得分:2)
Xamarin应用程序在发布模式下有点大,正如人们所期望的那样。作为一个例子,从两个运送应用程序查看我的二进制文件,二进制+ dll大约是12米和18米(我想我需要调查为什么18米的那个更大......)。我猜想如果我在Objective-c中完成了这些操作,那么从过去构建本机应用程序的经验来看,它们的大小只有一半。
如果您正在运行调试硬件版本,那么它们巨大。对于二进制+ dll,上面的12m示例跳转到96M(?!)。在我检查这个之前,我在脑海里说它们的大小增加了一倍以处理软件调试器,但我想还有很多其他的废话,我不知道。