Xamarin.iOS在将C#编译为本机代码时对内存管理做了什么?

前端之家收集整理的这篇文章主要介绍了Xamarin.iOS在将C#编译为本机代码时对内存管理做了什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
什么Xamarin.iOS关于内存管理?使用通常的IL,我们有垃圾收集器,它处理未使用的对象和浮雕程序员调用删除.当Xamarin将代码编译为本机时,这是如何工作的?谁清理了不再使用的物体?

这个问题回答了编译的工作原理,但没有解释内存管理部分:How MonoTouch works?

解决方法

answer you seek是关于您链接的问题.

总而言之,IL-to-native翻译过程是提前完成的,但仍然需要Mono运行时的其他部分. JIT编译只是运行时执行的任务之一,而且这个特定的部分与iOS的内存限制不兼容(可写的内存页也不能​​执行,这是JIT运行所必需的).这就是AFAIK,是完全需要提前编译(AOT)的唯一原因.

Mono垃圾收集器确实在iOS上运行,它只是嵌入到Monotouch编译器生成的二进制文件中.生成的二进制文件包含您的AOT编译的应用程序代码以及您使用的库的AOT编译版本,以及Mono运行时的精简版本.

猜你在找的iOS相关文章