iOS-内存篇 (01~...(05))

2016-08-24  本文已影响172人  麦穗0615

01. ARC处理原理

ARC是Objective-C编译器的特性,而不是运行时特性或者是垃圾回收机制,ARC所做的只不过是在代码编译时为你自动在合适的位置插入release或autorelease,只要没有强指针指向对象,对象就会释放。

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

03.MRC文件在ARC工程混合编译时,需要在文件的Compiler Flags上添加什莫参数?
答: -fno-objc-arc

04. 什莫情况下使用weak关键字,相比assign有什莫不同?

05. 调用对象的release方法会销毁对象吗?
不会,调用对象的release方法只是将对象的引用计数器-1,而当引用计数器为0时,会调用对象的dealloc方法才能进行释放对象的内存。

上一篇 下一篇

猜你喜欢

热点阅读