2010-07-24 4 views
0

У меня проблемы с памятью, из другого поста я попытался проанализировать свой проект, чтобы понять мои ошибки .... вот некоторые вещи, которые я не понимаю, где моя ошибка ....Понимание результатов анализа моего приложения

благодаря

1: SQLite соединение: sqlite connection http://grab.by/grabs/2125d36a8ec1fb0af1c813af33af5653.png

2: конвертер JSON: json converter http://grab.by/grabs/7b22080098c8931d7ef505a1eb7c087e.png

3: подключение к URL: url connection http://grab.by/grabs/848a0942f69c91303347d08c64fb2fbb.png

4: клетка UITableView: cell of uitableview http://grab.by/grabs/3917e88829bb6c956bb30445fc7bec20.png

ответ

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 ed a TickerSessions без -release Взять его.

Фактически вы можете открыть окно «Результаты сборки», чтобы узнать, что вызывает ошибку.

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

1
  1. Вы назначаете значения dbrc, но вы никогда не используя присвоенное значение. просто избавитесь от этой переменной.

  2. Если регулярное выражение не совпадает или существует только одно совпадение, matchOk имеет неопределенное значение, поскольку назначение никогда не будет выполнено. Следовательно, приемник для сообщения данных с кодировкой данных является мусором.

  3. Тип ReadType имеет тип, который выполняет автоматическое распределение во время назначения, скорее всего, NSNumber. Вы никогда не выпускаете этот объект.

  4. Вы явно выделяете значение галочки, но вы не выпускаете его перед выходом из области метода.

Смежные вопросы