iPhone / iPad: влияет ли количество вызовов NSLog () на производительность приложения или на память? - PullRequest
6 голосов
/ 18 сентября 2011

Я хотел бы знать, влияет ли много вызовов NSLog () на производительность приложения или память.Кто-нибудь знает о такой вещи?

Я хочу поместить вызов NSLog () в каждую функцию в моем приложении (а это много), чтобы я мог видеть журналы сбоев после и отслеживать проблемы.

Спасибо.

Ответы [ 3 ]

10 голосов
/ 18 сентября 2011

Да. Поэтому я определяю это в моем файле pch.

#ifdef DEBUG
#   define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
#else
#   define DLog(...)
#endif

// ALog always displays output regardless of the DEBUG setting
#define ALog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);

Вместо использования NSLog я использую DLog и ALog.

(Примечание или авторские права: я получил этот код давным-давно из какого-то другого поста SO, который я не помню. Вставил его снова из моей библиотеки фрагментов)

7 голосов
/ 09 августа 2012

Еще одно простое решение «undefine» NSLog

В файле .pch:

#ifndef DEBUG
#define NSLog(...) /* */
#endif
2 голосов
/ 18 сентября 2011

Да, это замедляет производительность, особенно если предполагается, что функция занимает очень короткое время, NSLog (это процесс ввода / вывода) заставит ее занять больше времени, чем ожидалось.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...