0

我有一些内存问题,从另一篇文章中我试图分析我的项目以了解我的错误....这里有一些我不明白我的错误在哪里....

谢谢

1:sqlite连接: sqlite连接http://grab.by/grabs/2125d36a8ec1fb0af1c813af33af5653.png

2:json转换器: json转换器http://grab.by/grabs/7b22080098c8931d7ef505a1eb7c087e.png

3:url连接: url连接http://grab.by/grabs/848a0942f69c91303347d08c64fb2fbb.png

4:uitableview 单元格:uitableview 单元格 http://grab.by/grabs/3917e88829bb6c956bb30445fc7bec20.png

4

2 回答 2

2
  1. 如前所述,您在dbrc不使用它的情况下分配给它。如果您不打算使用错误代码,则可以省略分配。

    sqlite3_prepare_v2(...);
    ...
    while (sqlite3_step(...) == SQLITE_ROW) {
      ...
    
  2. 如果for上面的循环没有运行(即正则表达式匹配失败),那么matchOk将永远不会被初始化,即它包含垃圾。

    NSString* matchOK = nil;
    int nM = 0;
    ...
    
  3. 您已经+alloc编辑了一个 NSURLConnection 但从未将结果存储在任何地方,因此对于分析器来说,之后没有机会-release对其进行处理。这会导致泄漏。

  4. 你已经+alloc编辑了一个 TickerSessions 而没有编辑-release它。

实际上,您可以打开“构建结果”窗口来查看触发错误的原因。

http://developer.apple.com/iphone/library/documentation/DeveloperTools/Conceptual/XcodeProjectManagement/art/analyzer_results_by_step.jpg

于 2010-07-24T07:30:57.593 回答
1
  1. 您正在为 dbrc 分配值,但您从未使用分配的值。只是摆脱那个变量。

  2. 如果正则表达式不匹配或只有一个匹配,matchOk 有一个未确定的值,因为赋值永远不会被执行。因此,dataUsingEncoding 消息的接收者是垃圾。

  3. ReadType 是在分配期间自动分配的类型,很可能是 NSNumber。你永远不会释放那个对象。

  4. 您正在显式分配刻度值,但在退出方法范围之前您没有释放它。

于 2010-07-24T07:29:57.307 回答