9

我的应用程序中有很多NSLog's - 其中一些经常打印大量数据 - 即搜索结果。这会对我的应用程序的速度产生明显的影响吗?

我不熟悉宏——有人能推荐一个启用/禁用所有 NSLog 的宏吗?

4

4 回答 4

16

NSLog的,因为它的同步性,它可能会使您的应用程序变慢。切换所有NSLog

#ifdef DEBUG
#define NSLog(...) NSLog(__VA_ARGS__)
#else 
#define NSLog(...)
#endif
于 2013-10-12T18:45:40.287 回答
4

您应该使用MY CURRENT PREFIX.PCH FILE 之DLog类的东西。它将禁用发布版本中的日志记录。很好地解释了为什么不应该在 Release 版本中保留 's。NSLog

于 2013-10-12T18:41:26.670 回答
1

如果您的应用程序用于生产,请尽量减少它们。只保留对错误或可能的警告有用的那些。如果您使用它们来帮助您调试,那么我建议您删除它们。

于 2013-10-12T18:48:31.133 回答
0

是的!!太多的 NSLOgs 肯定会减慢你的应用程序。

作为最佳实践,我通常将其添加到我的 .pch(预编译头文件)中

#ifdef DEBUG
#define DebugLog(f, ...) NSLog(f, ## __VA_ARGS__)
#else
#define DebugLog(f, ...)
#endif

刚刚在调试目标的构建设置中的预处理器宏中启用了调试。使用 DebugLog 而不是 NSLog()。

您的发行版/发行版不会定义 DEBUG。因此,您的应用程序不会在分布式应用程序的日志中打印任何内容。

于 2013-10-12T18:54:31.527 回答