首页 > 试题广场 >

关于Memory的说法,以下说法正确的是?

[不定项选择题]
关于Memory的说法,以下说法正确的是?
  • ARC下,当一个对象的引用计数为0时,会被立即释放
  • ARC下,用Obj-C的编写的代码中,不会对Core Foundation中的绝大部分对象进行内存管理
  • 值类型既可以存储在栈上,也可以存储在堆上
  • 非静态的NSObject的子类对象只存储在堆上
值类型包括数组元素、闭包局部变量等应存储在堆上,NSStackBlock是分配在栈上的。
发表于 2020-07-08 23:57:12 回复(0)
ARC只支持管理OC对象,不支持Core Foundation对象,后者必须使用CFRetain和CFRelease来进行内存管理。
发表于 2023-09-18 11:09:55 回复(0)
A.retainCount为0时,会走到__objc_rootDealloc方法,该方法需要判断很多条件。
如果很单纯,则直接释放了,否则需要处理一系列的事情,尤其是在object_dispose方法中,
1.是否为nonpointer_isa;2.处理弱引用. 3.处理有关联对象;4.c/c++的构造器/析构;5.处理sidetable扩容等。
D. 除了静态,还有全局变量。

编辑于 2022-11-30 00:55:41 回复(0)
a有什么毛病吗?mrc下autorelease对象才需要走runloop循环,arc下不就是马上释放?
发表于 2022-03-22 21:22:08 回复(1)