objective-c – XCode 4仪器4:误报泄漏?
自从切换到XCode 4后,泄漏工具显示出大量泄漏,全部来自
JSONKit和ASIHTTPRequest,运行2分钟后,我泄漏了数百个数组/字典/字符串(来自jk_create_dictionary,jk_parse_array,HTTPMessage :: *等)总计几百英尺KB.大多数堆栈跟踪不是源于我的任何调用,其余的完全是无辜的.
我非常积极,不是XCode 4之前的情况. 我不知道谁是罪魁祸首.任何见解都很可爱. 更新: static JSONDecoder *decoder = nil; if (!decoder) decoder=[[JSONDecoder alloc] init]; ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:[NSURL URLWithString:url]]; [request setCachePolicy:ASIDoNotWriteToCacheCachePolicy]; [request setCompletionBlock:^{ NSData *response = [request responseData]; NSDictionary *json = [decoder objectWithUTF8String:[response bytes] length:[response length]]; // ... }]; [request setFailedBlock:^{ // ... }]; [request startAsynchronous]; 解决方法
编辑:在您阅读本答复的其余部分之前:
END_OF_EDIT 这不是一个答案,更多的补充,并试图了解自从我看到仪器泄漏以来发生了什么. 我这样使用JSONKit: NSArray *lines = [dataString componentsSeparatedByString:@"n"]; for (NSString *line in lines) { // I know,strange format isn't? :) NSDictionary *json = [line objectFromJSONStringWithParSEOptions:JKParSEOptionLooseUnicode]; // use dictionary data... } @ssteinberg,那是你遇到的那种泄漏吗? : 请注意,在经过一些重负载测试后,我有这个问题,500个具有巨大JSON响应的请求,这解释了泄漏是以MB为单位(using latest gh version) 请注意,我使用乐器很新,我不知道如何理解这些结果.据Frames报道,是的,看起来像缓存…但我想确定… 所以我开了一个Issue on GH,我希望@johnezang,或者其他任何人,都会对此表示满意. 如果这只是对乐器的误解,我会道歉,我更喜欢:) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |