там способ вынудить компилятор встроить этот вызов, или я сделаю, я просто надеюсь, что компилятор сделает эту оптимизацию?
, Если более дешево встроить функцию, это будет. Не волнуйтесь об этом, если Ваш профилировщик не говорит, что это на самом деле - проблема.
Для получения дополнительной информации
Apple вернулся ко мне, и это ошибка # 6469143
Похоже, что они планируют исправить 4,0
Наиболее вероятная причина в том, что один из ваших методов делегата сохраняет синтаксический анализатор. Делаете ли вы что-нибудь со своим параметром синтаксического анализатора в методах делегата?
Получаете ли вы утечку каждый раз при обновлении?
Если это единственное место, где используется rssParser, почему вы делаете его ivar? Если вам действительно нужен ivar, я не могу не подчеркнуть, насколько важно всегда использовать для них аксессоры и никогда не обращаться к ним напрямую. Единственный лучший способ избежать утечки памяти - использовать аксессоры для ваших ivars.
Кроме того, никогда не выпускайте что-либо, не установив сразу что-то другое (обычно nil). Вышеупомянутый выпуск rssParser - это ожидаемый сбой, потому что теперь у вас есть указатель на потенциально нераспределенную память.
Кажется, это хорошо известная проблема. См. Здесь NSURLConnection leaking . Однако, если вы установите следующее перед инициализацией парсера, утечка прекратится:
[[NSURLCache sharedURLCache] setMemoryCapacity:0];
[[NSURLCache sharedURLCache] setDiskCapacity:0];
NSXMLParser *parser = [[NSXMLParser alloc]initWithContentsOfURL:URL];