Objective-C内存管理面试题一道 财富值67

2016-10-26 16:39发布

下面关于Objective-C内存管理的描述错误的是
A 当使用ARC来管理内存时,代码中不可以出现autorelease
B autoreleasepool 在 drain 的时候会释放在其中分配的对象
C 当使用ARC来管理内存时,在线程中大量分配对象而不用autoreleasepool则可能会造成内存泄露
D 在使用ARC的项目中不能使用NSZone

= =。。
网上看到的,参考答案为A.

我觉得选C来的~

不知道A错在哪里了?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答

C的描述是对的,在遇到需要大量创建对象的地方使用autoreleasepool可以加快对象释放的速度。
如果说A是错的,那只能是说明出题者想考你ARC的原理其实是编译器自动帮你在代码中加入autorelease等代码。其实在ARC的项目中写autorelease连编译都通不过,这样想得话A其实也是对的。
不过既然其他3个都是对的,也只能选A了。

一周热门 更多>