我的应用程序中有很多NSLog
- 其中一些通常会打印大量数据 - 即搜索结果。这会对我的应用程序的速度产生明显的影响吗?
我对宏不熟悉 - 是否有人能够建议启用/禁用所有NSLog?
答案 0 :(得分:16)
是NSLog
因为同步而导致您的应用变慢。
要切换所有NSLog
#ifdef DEBUG
#define NSLog(...) NSLog(__VA_ARGS__)
#else
#define NSLog(...)
#endif
答案 1 :(得分:4)
您应该使用MY CURRENT PREFIX.PCH FILE中的DLog
之类的内容。它将禁用Release版本中的日志记录。 This很好地解释了为什么你不应该在发布版本中保留NSLog
。
答案 2 :(得分:1)
如果您的应用是用于制作,请尽量减少它们。只保留对错误或可能的警告有用的那些。如果您使用它们来帮助您进行调试,那么我建议您将其删除。
答案 3 :(得分:0)
YES!太多的NSLO肯定会减慢你的应用程序。
作为最佳实践,我通常会在.pch(预编译的头文件)中添加它
#ifdef DEBUG
#define DebugLog(f, ...) NSLog(f, ## __VA_ARGS__)
#else
#define DebugLog(f, ...)
#endif
在调试目标的构建设置中的预处理器宏中启用了DEBUG。使用DebugLog而不是NSLog()。
您的发布/发布不会定义DEBUG。因此,您的应用程序不会在分布式应用程序的日志中打印任何内容。