我是C#,并试图探索使用C#制作安卓应用程序的Xamarin (保持冷静,Java :)。
所以我的问题是-
Java做安卓一样发布于 2014-09-01 02:20:50
好吧,这是个大问题。以下是一些开始信息:)
除了语言用法之外,他们之间还有什么区别吗?
是的,有几个主要的区别。最重要的是应用程序的执行方式和APK的最终大小。
应用程序执行
Xamarin与Mono运行时一起运行Dalvik (或ART)运行时,并使用Android可调用包装器在两者之间进行通信。这意味着您将在中获得C# (LINQ、异步/等待、.NET API)的所有好处。
对于Stack溢出,这是一个有点大的解释,所以这里有一些关于洞察力的阅读:
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#。
摘要
把所有这些都拿出来,我只给你一个小小的总结!这是一个巨大的工具,最好的学习方法就是下载一些示例应用程序(这里),对它们进行黑客攻击,找出它是否适合你的开发团队。
https://stackoverflow.com/questions/25593577
复制相似问题