面试回顾之十:arc下内存泄露

1, oc与c混编, c开辟内存没有释放free

2, 没有对对象置nil也可能产生泄露, 置nil会让对象解除所有的强引用

3, CGContext族 和 GCImage族, 要用CGContextRelease 和 CGImageRelease

4, 循环引用self , Blocks 内部使用一个实例时会retain,为了防止内存泄露。在block之前需使用_weak 若引用标示

5,timer都会对它的target进行retain,我们需要小心对待这个target的生命周期问题,尤其是重复性的timer。(NSTimer初始化后,self的retainCount加1。 那么,我们需要在释放这个类之前,执行[timer invalidate];否则,不会执行该类的dealloc方法。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.OC的类可以多重继承吗?可以实现多个接口吗?要想实现类似多重继承如何实现?答:OC不可以实现多重继承。可以实现...
    欧辰_OSR阅读 6,218评论 0 30
  • 内存管理 简述OC中内存管理机制。与retain配对使用的方法是dealloc还是release,为什么?需要与a...
    丶逐渐阅读 6,052评论 1 16
  • 多线程、特别是NSOperation 和 GCD 的内部原理。运行时机制的原理和运用场景。SDWebImage的原...
    LZM轮回阅读 6,091评论 0 12
  • 理解引用计数机制 在引用计数的机制下,每个对象都有一个计数器,可递增递减,用以表示当前有多少事物想让该对象继续保留...
    Saxon_Geoffrey阅读 4,468评论 1 8
  • 你所喜欢的人具有主宰你情绪的魔力。他的三言两语,可以让你在心情低落的时候飞起,也能在你心情好的时候,把你打入谷底。...
    因风吹过蔷薇阅读 2,600评论 0 0