首页IT科技xamarin .net core(Xamarin发布XobotOS源码,C# 实现的Android系统 操作系统 ITeye资讯)

xamarin .net core(Xamarin发布XobotOS源码,C# 实现的Android系统 操作系统 ITeye资讯)

时间2025-09-09 15:07:40分类IT科技浏览5547
导读:Android的核心代码由数百万行Java代码构成,而XobotOS项目还需要和Android的新版本保持同步(事实上,XobotOS的工作从Android 2.x已经开始),工作量之巨大,只能通过机器自动转换来实现。...

Android的核心代码由数百万行Java代码构成                  ,而XobotOS项目还需要和Android的新版本保持同步(事实上                        ,XobotOS的工作从Android 2.x已经开始)         ,工作量之巨大              ,只能通过机器自动转换来实现                  。

该团队利用了一个自动转换Java到C#的工具——Sharpen                        ,并进行了许多改进             ,使该工具更加成熟          ,目前Sharpen的源码已随XobotOS发布                        。

性能对比

运行于Mono上的Android                         ,与Dalvik相比                 ,性能究竟如何?Xamarin团队称:

一直以来     ,微软不断改进C#                          ,使其代码优化更加容易         。通过引入值类型                     ,使得小型对象耗能更低              。另外,虚拟方法现在是选择性加入                      ,使得虚拟机性能优化更加容易                        。

在泛型实现上                         ,Java和C#分道扬镳     ,Java采用了完全向后兼容                  ,而C#在运行时上提供了支持                        ,C#的做法更简单易用                  、高效和完善             。

再则         ,Java和C#在语法和执行环境上都在不断改进              ,增加了大量的新特性                        ,如动态编程                        、异步支持         、迭代器              、函数式编程组件                        、并行化等             ,而其中大量的特性来自于Don Syme(微软F#项目负责人)的研究          。

另外          ,在过去10年时间中                         ,Mono作为一个虚拟机已经逐渐成熟                 ,现在已经是第8代产品了                         。

以上这些都是影响性能的因素                 。下图通过一个简单的二叉树实现     ,来对比Java/Dalvik和C#/Mono在结构体和泛型影响下的性能差别     。

未来计划

Xamarin称                          ,公司的目标是提供最好的移动应用开发平台                     ,因此XobotOS不会是工作重心,不过这是一项非常有趣的实验                      ,其中一些技术也可以用于未来的产品中                          。这些技术包括:

直接访问Skia图形库:目前Mono for Android通过Java访问底层图形库                         ,通过XobotOS中的代码     ,可以使用Mono的P/Invoke直接访问Skia的原生渲染代码                     。 Java/C#转换工具:新版Sharpen已经作为XobotOS的一部分发布。 使用C#代码替换Java代码:对于一些性能瓶颈的地方                  ,可以使用C#来代替Java                      。

源代码

Xamarin团队已经将XobotOS的源代码发布在Github上                         。

XobotOS中各组件的源码基于这些组件上游供应商规定的许可协议                        ,C#版本的Android基于Apache 2许可协议     。XobotOS中还包含了Java/C#转换工具Sharpen的源代码         ,基于GPL许可协议                  。

声明:本站所有文章              ,如无特殊说明或标注                        ,均为本站原创发布                        。任何个人或组织             ,在未征得本站同意时          ,禁止复制             、盗用          、采集                         、发布本站内容到任何网站                 、书籍等各类媒体平台         。如若本站内容侵犯了原著者的合法权益                         ,可联系我们进行处理              。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
织梦停止更新了吗(PHPCMS与织梦CMS的区别) 变分模态分解和经验模态分解区别是什么(浅谈VMD—变分模态分解)