是否有官方参考说明电池寿命是垃圾收集器未包含在 iOS 中的原因之一?
Posted
技术标签:
【中文标题】是否有官方参考说明电池寿命是垃圾收集器未包含在 iOS 中的原因之一?【英文标题】:Is there an official reference stating that battery life is one of the reasons why a Garbage Collector was not included inside iOS? 【发布时间】:2010-09-10 01:54:32 【问题描述】:在the following SO question 中,提到车库收集器未包含在ios 中以节省电池电量。
是否有来自 Apple 的官方参考说明电池寿命是垃圾收集器未包含在 iOS 中的原因之一?
我一直在谷歌上寻找它,但找不到任何相关的东西。
【问题讨论】:
【参考方案1】:...说明电池寿命是垃圾收集器未包含在 iOS 中的原因之一?
我认为这要么是良好的公关,要么是激进的***粉丝。良好的 GC 几乎不会增加开销,尤其是任何人都不必担心的开销。问题是苹果没有一个好的垃圾收集器。
Objective-C 的垃圾收集器是保守的,不进行压缩,这意味着应用程序会随着时间的推移而泄漏内存,如果您的手机上有一个长时间运行的应用程序,它会最终耗尽所有可用内存并崩溃。实际上,这就是 Apple 建议不要将其用于长时间运行的任务的原因,即使在 Mac OS X 上也是如此。
【讨论】:
你说得对。 ObjC 的垃圾收集器很难理解并且存在一些问题,尤其是在混合代码(ObjC 和 C)中。我实际上在我的 OSX 应用程序上禁用了它,因为它导致了一些非常奇怪(但很容易重现)的问题。【参考方案2】:在所有有限资源设备上的不可预测的性能肯定也存在一个主要问题。英特尔聘请了一位同事和我的同事来推出 Pentim 3,以制作一些重要的 UI 东西,展示这款处理器的强大功能,以便每个人都可以升级。
出于某种原因,我们认为 Excite 搜索引擎的基于 Java 的 3D 界面是最终的解决方案。有卫星的行星将代表结果页面和个人搜索结果。太空时代的东西。这显然是在互联网大爆炸之前,当时人们有太多的钱和对 3D 网络世界的宏伟愿景。
好吧,垃圾人总是在错误的时间频繁出现,所以我们做了我们当时必须做的事情,要求大量内存并编写我们自己的分配内容。客户无法容忍跳动的 GFX。
这成功了,尽管今天看起来很脏。
我坚持认为,Apple 的决定主要是因为可用内存少,而且希望应用和游戏的速度达到最佳,甚至是速度。他们不是那种喜欢“啊,现在又落后了”的人。
我建议您参考最近在 4.x 周围的喧嚣,在某些设备上运行缓慢。新的更新推出了一些功能来换取性能。
【讨论】:
以上是关于是否有官方参考说明电池寿命是垃圾收集器未包含在 iOS 中的原因之一?的主要内容,如果未能解决你的问题,请参考以下文章