这个问题老生常谈但是还总是会出现我下面就写一下可能的原因
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
网友评论