首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xamarin.Android对安卓

Xamarin.Android对安卓
EN

Stack Overflow用户
提问于 2014-08-31 15:39:32
回答 1查看 1.6K关注 0票数 1

我是C#,并试图探索使用C#制作安卓应用程序的Xamarin (保持冷静,Java :)。

所以我的问题是-

  • 除了语言用法之外,他们之间还有什么区别吗?
  • 与实际的安卓相比,在使用Xamarin.Android方面有什么限制吗?
  • 我能用Xamarin.Android做任何事吗,就像我们用Java做安卓一样
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-01 02:20:50

好吧,这是个大问题。以下是一些开始信息:)

除了语言用法之外,他们之间还有什么区别吗?

是的,有几个主要的区别。最重要的是应用程序的执行方式和APK的最终大小。

应用程序执行

Xamarin与Mono运行时一起运行Dalvik (或ART)运行时,并使用Android可调用包装器在两者之间进行通信。这意味着您将在中获得C# (LINQ、异步/等待、.NET API)的所有好处。

对于Stack溢出,这是一个有点大的解释,所以这里有一些关于洞察力的阅读:

  • Java集成概述
  • Xamarin Android体系结构

APK尺寸

另一个显著的差异是,与香草Java相比,Xamarin生成的APK的大小。一个常见的抱怨是,Xamarin.Android包的大小是巨大的,是的,可以做到这一点。根据经验,Xamarin.Android应用程序将至少比Java大2.5mb,因为运行时的核心组件包含在APK中。

使用共享运行时的调试构建最终将成为与Java相当的大小。然而,这只是因为初始化Monodroid的ContentProvider从预先安装的APK (Mono.Android.*)中提取依赖项,而不是从应用程序包中提取依赖项。

在发布模式下构建一个典型的Hello应用程序并使用Sdk Assemblies进行链接将产生大约3mb的最终APK。下图显示了APK的最终组成以及使用这些内存的内容:

Xamarin在他们的应用程序包大小文章中很好地解释了这些限制。

关于其他差异,最好阅读Xamarin站点的Android高级主题部分。

与实际的安卓相比,在使用Xamarin.Android方面有什么限制吗?

到目前为止,我还没有遇到过这样的情况(开发了3个商业应用程序,在工作中开发了第4个应用程序,在家里开发了另一个应用程序,经常玩)。我遇到的主要限制因素是Xamarin中的许可级别。

我可以使用Xamarin.Android做任何事情吗,就像我们可以使用Xamarin.Android一样吗?

总的来说,是的。所有Java都通过Java.*命名空间公开。一旦您了解了Xamarin的惯例并能够阅读Java代码,通常直接将Java转换为C#。

摘要

把所有这些都拿出来,我只给你一个小小的总结!这是一个巨大的工具,最好的学习方法就是下载一些示例应用程序(这里),对它们进行黑客攻击,找出它是否适合你的开发团队。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25593577

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档