iPhone / iPad:有很多NSLog()调用会影响应用程序的性能还是内存?

时间:2011-09-18 12:03:44

标签: iphone performance ipad nslog

我想知道是否有许多NSLog()调用会影响应用程序性能或内存。 有谁知道这件事吗?

我想在我的应用程序中的每个函数中放置一个NSLog()调用(这很多),这样我就可以看到 崩溃后记录和跟踪问题。

感谢。

3 个答案:

答案 0 :(得分:10)

是。所以我在我的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__);

我使用DLog和ALog而不是使用NSLog。

(注意或版权:很久以前,我从其他一些我不记得的帖子中获得了这段代码。再次从我的代码库中删除它)

答案 1 :(得分:7)

“取消定义”NSLog的另一个简单解决方案

在.pch文件中:

#ifndef DEBUG
#define NSLog(...) /* */
#endif

答案 2 :(得分:2)

是的,它会降低性能,特别是如果函数需要花费很短的时间,NSLog(这是一个I / O进程)将花费比预期更多的时间。