当前位置:  开发笔记 > IOS > 正文

iPhone应用程序是否支持垃圾收集?

如何解决《iPhone应用程序是否支持垃圾收集?》经验,为你挑选了2个好方法。

iPhone是否支持垃圾收集?如果是,那么执行使用+alloc-init组合执行的操作的替代方法是什么:

NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithData:xmlData];
UIImage *originalImage = [[UIImage alloc] initWithData:data];
detailViewController = [[[DetailViewController alloc] initWithNibName:@"DetailView bundle:[NSBundle mainBundle]] autorelease];

......和其他命令.提前感谢您提供的任何帮助或指导.



1> adam..:

不可以.垃圾收集对于设备上有限的电池寿命等来说太大了.

您必须始终以alloc/release模式编程.

NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithData:xmlData];
...
[xmlParser release];

或(不适合所有情况)

NSXMLParser *xmlParser [[[NSXMLParser alloc] initWithData:xmlData] autorelease];

希望这可以帮助!


由Apple制造的iPhone OS,由Google制造的Android OS.常识是持续运行的垃圾收集过程将消耗额外的处理能力,从电池获取更多电力.Android中忽略了所有用于节省电池电量的iPhone选择,因此Android手机的电池寿命比iPhone差.
我认为苹果公司关于电池寿命的论点充其量只是微弱的.当然,GC是一个开销,但它与手机上运行的其他十亿个东西相比毫无意义.虽然所有优秀的iOS程序员都知道他们对Cocoa内存管理模式的了解,但实际情况是,所有iOS程序员都不是很好.如果没有像GC这样的安全网,我们最终会遇到大量糟糕的应用程序,这些应用程序随时都会崩溃.所以恕我直言,Apple应该为了他们的用户而包括GC,尤其是.随着CPU和电池寿命的不断提高.
如果电池寿命是iPhone没有GC的原因之一,为什么Android有垃圾收集器?请参阅:http://developer.android.com/reference/java/lang/System.html#gc%28%29.您是否介意传递消息来源,该消息称电池寿命是iPhone没有GC的原因之一?谢谢.

2> Stephen Darl..:

不,目前iPhone不支持垃圾回收.你需要使用alloc/ release/ autorelease.

推荐阅读
wurtjq
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有