iOS开发过程中controller或者view不走dealloc方法

这个问题老生常谈但是还总是会出现我下面就写一下可能的原因

1. controller中使用了计时器 NSTimer 使用后没有销毁 导致循环引用
2.协议delegate 应该使用weak修饰,否则会引起循环引用 不能释放内存
3.使用到block的地方,,block回调中不能直接使用self 否则可能引起循环引用。
4.这个问题可能很少有人注意,检查一下你的工程是不是ARC环境的,或者检查你的文件是不是ARC的.
5.检查你的main.m中是否加入了缓存池处理(这个好像没多大的影响)
    @autoreleasepool {
          return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }

修改工程文件为Arc的方法

 1,选择项目中的Targets,选中你所要操作的Target,
 2,选Build Phases,在其中Complie Sources中选择需要ARC的文件双击,并在输入框中输入:-fobjc-ARC,如果不要ARC则输入:-fno-objc-ARC
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,964评论 25 709
  • 我终于明白 世间有一种思绪 无法用言语形容 粗犷而忧伤
    颛顼无道阅读 275评论 2 2
  • 汗(苋)菜卖到了夜里 或许将不知去向 我已经递给老人几杯凉茶 此刻,我竟想回到早上的菜园 汗(苋)菜是染红我毕生血...
    诗人金子阅读 333评论 1 0
  • 能有一群积极向上的朋友真的很重要。即便主动积极的人不多。不能要求朋友会的太多,但是朋友最好还是需要在合适的时间地点...
    赵小乐KIP阅读 261评论 0 0
  • 真的好累 谎言那么美 卸下面具如此疲惫 有无可无的傀儡 已无所谓
    6328c587c3d4阅读 347评论 1 2