在我的应用程序中使用Instruments - > Leaks时,我发现SBJson Parser实现文件中存在最大的内存泄漏:
@implementation SBJsonStreamWriterAccumulator
@synthesize data;
- (id)init {
self = [super init];
if (self) {
data = [[NSMutableData alloc] initWithCapacity:8096u]; //HERE IS 100% LEAK
}
return self;
}
#pragma mark SBJsonStreamWriterDelegate
- (void)writer:(SBJsonStreamWriter *)writer appendBytes:(const void *)bytes length: (NSUInteger)length {
[data appendBytes:bytes length:length];
}
@end
1.如何正确修复此问题而不是崩溃解析器?
2.使用SBJson时,为什么内存泄漏有这么多麻烦?
答案 0 :(得分:3)
您可能正在使用SBJson 3.1和不使用ARC的项目
在ARC - 这很好。
如果您的项目是非弧形,请使用SBJson 3.0,这是一个非ARC版本。
答案 1 :(得分:-1)
除非使用ARC,否则添加编译指示以使文件不是COMPILE是一个开放的错误。我还没来得及解决它。请参阅:https://github.com/stig/json-framework/issues/151
(免责声明:我是SBJson的作者。)