iPhone,无垃圾收集 : What About MonoTouch?

标签 iphone garbage-collection xamarin.ios

众所周知,Apple does not provide automatic garbage collection on the iPhone to prolong battery life 。然而据报道,MonoTouch 应用程序可以在 iPhone 上完美运行(许多应用程序通过 AppStore 销售,因此得到了 Apple 的批准),但它们确实具有自动垃圾收集功能。

  1. 这是自动垃圾收集,还是 MonoTouch 只是为您管理所有保留/释放内容?
  2. 如果是自动垃圾收集,那不是会消耗电池吗?

编辑:如果您对#1 的回答是"is"而对#2 的回答是“否”,为什么?

历史编辑:值得注意的是,Apple 已决定为 iOS 5.0 采取不同的路线并实现 ARC(还允许针对同一 SDK 编译的代码也可以在 iOS 4.x 上运行) )。

最佳答案

是的,它有真正的垃圾收集功能。 MonoTouch 基于 Mono。其中使用Boehm-Demers-Wiser Conservative Garbage Collector (压缩垃圾收集器正在开发中)。它能够自动收集未引用的对象。就电池生命周期而言,使用 C# 和 .NET 的性能不如使用 Objective-C/C++/C 最佳,因为完成相同的工作需要更多的 CPU 时钟,但如果您的应用程序不是 CPU 密集型的,这可能会是微不足道。我认为您不会对电池生命周期产生明显影响。

关于iPhone,无垃圾收集 : What About MonoTouch?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2818315/

相关文章:

Monotouch 默认应用程序在模拟器中运行但在设备上崩溃

ios - Xamarin Forms iPhone 设备详细信息

iphone - iTunes 商店会接受基于 Safari 的 iPhone 应用程序吗?

iphone - 使用新数据重新加载 Collection View

iphone - objective-c : i want the automatic memory management of properties, 但无法从其他类访问

java - JMH 中 hs_gc 分析器计数器的含义

http - 释放未使用的内存?

iphone - UIControlEventTouchDragExit 仅触发 ~100 像素

Java 不释放带有 finalize() 覆盖的对象

ios - 编辑 NSUserDefaults 托管配置字典