我想知道是否有许多NSLog()调用会影响应用程序性能或内存。 有谁知道这件事吗?
我想在我的应用程序中的每个函数中放置一个NSLog()调用(这很多),这样我就可以看到 崩溃后记录和跟踪问题。
感谢。
答案 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进程)将花费比预期更多的时间。