loo*_*oop 1 c# android xamarin
我是C#男人,并试图探索Xamarin制作Android应用程序使用C#(保持冷静的Java家伙:).
所以我的问题是 -
Java吗?嗯,这是一个问题的鲸鱼.这是一些开始的信息:)
是的,有几个主要的区别.最重要的是应用程序的执行方式和最终的APK大小.
应用程序执行
Xamarin在Mono运行时运行Dalvik(或ART)运行时,并使用Android Callable Wrappers在两者之间进行通信.这意味着您可以在Android App Framework中获得C#(LINQ,async/await,.NET API)的所有好处.
这在Stack Overflow上解释有点大,所以这里有一些阅读知识:
APK大小
另一个显着的区别是APK Xamarin生成的大小与vanilla Java APK相比.一个常见的抱怨是Xamarin.Android包装尺寸很大,是的,可能就是这种情况.根据经验,Xamarin.Android应用程序将至少比Java APK大2.5MB,因为运行时的核心组件包含在APK中.
使用共享运行时最终的调试版本与Java APK相当.但是,这只是因为ContentProvider初始化Monodroid从预先安装的APK(Mono.Android.*)而不是您的应用程序包中提取依赖项.
在发布模式下构建一个典型的Hello World应用程序并使用链接Sdk Assemblies将产生大约3mb的最终APK.下图显示了APK的最终构成以及使用所有内存的内容:

Xamarin在他们的Application Package Sizes文章中很好地解释了这些限制.
关于其他差异,最好阅读Xamarin网站的Android高级主题部分.
到目前为止我没有遇到过(建立了3个商业应用程序,在工作的第4个工作,在家里工作的另一个,玩了很多).我遇到的主要限制归结为Xamarin的许可级别.
一般来说,是的.所有Java API都通过Java.*命名空间公开.一旦学会了Xamarin的约定并且可以阅读Java代码,通常可以直接将Java转换为C#.
把所有这些都带上一粒盐; 我只给了你一个关于Xamarin的小小总结!这是一个巨大的工具,最好的学习方法是下载一些示例应用程序(这里),破解它们并找出它是否适合您的开发团队.
| 归档时间: |
|
| 查看次数: |
1352 次 |
| 最近记录: |