ARC下-dealloc方法

作者: afb399d1a25f | 来源:发表于2016-11-23 13:14 被阅读186次

ARC下,覆写-dealloc方法:

  • (void)dealloc {

// 移除通知中心的监听
// 移除KVO监听
// 取消定时器,并将定时器置空(nil),NSTimer,GCDTimer
// 释放非Objective-C对象的内存,如CFRelease(...), free(...)
// 释放GCD队列:dispatch_release(_ioQueue);
}

结论:

  1. ARC下,对象的实例变量(不论是否用@property)会被系统自动释放:
    对象的实例变量会在根类[NSObject dealloc]中被系统自动释放,
    因此,ARC下,对象的实例变量无需我们再手动释放。
  2. 实例变量的释放顺序不确定:
    一个类内的实例变量的释放顺序不确定,
    子类和父类之间的实例变量的释放顺序也不确定,
    总之,也就是说不用我们关心实例变量的释放顺序了。
  3. ARC下,在覆写-dealloc方法后,我们不能在其中主动调用[super dealloc]:
    这是因为在运行期,系统会自动在其中调用[super dealloc]。

相关文章

网友评论

    本文标题:ARC下-dealloc方法

    本文链接:https://www.haomeiwen.com/subject/biqvpttx.html