我创建了一个示例应用程序,它声明了一个宏,如下所示:
#define kSampleString @"didReceiveMemoryWarningdidReceiveMemoryWarningdidReceiveMemoryWarningdidReceiveMemoryWarningdidReceiveMemoryWarningdidReceiveMemoryWarningdidReceiveMemoryWarningdidReceiveMemoryWarningdidReceiveMemoryWarningdidReceiveMemoryWarningdidReceiveMemoryWarningdidReceiveMemoryWarning"
当用户单击下面的事件处理程序时,我会记录宏字符串。
-(IBAction)SampleMethod:(id)sender{
NSLog(@"Log %@",kSampleString);
}
以下是我得到的仪器数据:
在检查 Instruments 中的分配时,我得到了以下信息。我能够发现分配发生在以红色标记的区域中的 NSLogv 调用中。但是如何解释与 NSLogv 相关的其他事情。那些 malloc 操作发生了什么?