【问题标题】:GData Objective C client memory leakGData Objective C 客户端内存泄漏
【发布时间】:2011-04-27 23:45:52
【问题描述】:

我有一个方法可以获取 GDataFeedBase 条目并将它们作为数组返回给另一个函数

NSMutableArray *tempFeedArray = [NSMutableArray array]; 
NSURL *feedURL = [[NSURL alloc] initWithString:escapedUrlString];
NSData *data = [NSData dataWithContentsOfURL:feedURL];
GDataFeedBase *feedBase = [[GDataFeedBase alloc] initWithData:data];
[tempFeedArray addObjectsFromArray:[feedBase entries]];
[feedURL release];
[feedBase release];
return tempFeedArray;

.....

我有另一个函数,我可以从 GDataEntryYouTubeVideo 的 tempFeedArray 对象中检索所需的值

  for(int count  = 0; count < loopCount; count ++){
        NSMutableDictionary *feedBaseEntryDict = [[NSMutableDictionary alloc] init];

        entry = [tempFeedArray objectAtIndex:count];


        youTubeUrl = [[entry alternateLink] href];


        if ([entry statistics]!= nil) {
            noOfVws= [[[entry statistics] viewCount] intValue];

        }

        duratn = [[[entry mediaGroup] duration] stringValue];
        descr = [[[entry mediaGroup] mediaDescription] stringValue];
        authorName = [[[entry authors] objectAtIndex:0] name];
        publishedDt = [[entry publishedDate] stringValue];
        rating = [[[entry rating] average] stringValue];
        imageURL = [[[[entry mediaGroup] mediaThumbnails] objectAtIndex:0] URLString];
        videoTitle = [[[entry mediaGroup] mediaTitle] stringValue];

  .....
 }



......

第一次一切正常。但下一次,它显示内存泄漏 GDataXMLNode stringFromXMLString:

还有其他人遇到过这个问题吗?

我在 gdata 开发者论坛中发现了类似的问题: http://groups.google.com/group/gdata-objectivec-client/browse_thread/thread/f88de5a7bb784719/cab328a8725ee6c5

但解决方案并不能解决问题。

非常感谢任何帮助。

【问题讨论】:

    标签: iphone memory-leaks gdata


    【解决方案1】:

    看起来可能不是您的代码,但客户端库在同一问题上还有一些其他线程。 This one 有一个解决方法,但我自己没有尝试过。

    您可以选择升级到最新版本(1.12 于 2011 年 4 月 11 日发布),查看source 并尝试追踪您的问题,或提交issue(看起来就像该项目仍在积极开发中一样)。

    【讨论】:

      【解决方案2】:

      由于代码从提要中“窃取”条目,使它们指向其父提要(而不是复制条目,这会创建独立版本),因此字符串缓存可能存在问题。尝试通过在 GDataXMLNode.m 中注释掉 -addStringsCacheToDoc 来禁用缓存

      【讨论】:

      • 在 GDataXMLNode.m 中注释掉 -addStringsCacheToDoc 内的代码没有帮助。仍然有泄漏。
      猜你喜欢
      • 1970-01-01
      • 2019-05-15
      • 2011-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-17
      相关资源
      最近更新 更多