我多次使用NSLog,我知道它有延迟时间。 我的应用程序有延迟时间,我想知道是否有很多日志可以创建。
例如,如果我有这段代码:
samplerTimer = [NSTimer scheduledTimerWithTimeInterval: 0.001f target: self selector: @selector(CheckData) userInfo: nil repeats: YES];
NSLog(@"%f",tmp);
计时器每1ms调用一个函数,它工作得很好,但我担心的是日志需要更多时间,所以计时器例程会有所改变。 我使用硬件,所以mseconds很重要。
我想了解,在nslog期间究竟发生了什么?系统正在睡觉?其他事情是并行完成的吗? 确切需要多长时间?
答案 0 :(得分:1)
NSLog()
使用printf
写入标准输出或错误。它还会导致刷新,这意味着程序将阻塞,直到输出已发送到OS。这很慢。
删除NSLog()
语句会加快速度。关闭所有注销的最简单方法是添加:
#define NSLog(...) 0
在您的前缀标题(.pch
文件)中,在框架中包含。或者您可以在要静音的文件中添加此行。如果有效地将所有NSLog()
语句替换为0
,则不执行任何操作。