我是乐器的新手,我想测试它是如何检测内存泄漏的。所以我使用以下代码。当用户点击按钮时会被触发。
-(IBAction)leak{
UIButton * button = [[UIButton alloc] initWithFrame:CGRectMake(0,0,30,30)]; NSLog(@“%@”,按钮); button.selected = YES; }
但仪器中没有任何反应。怎么样?
我将代码更改为:
-(IBAction)leak{
NSMutableString * test = [[NSMutableString alloc] init]; [test appendString:@“Testing 1”]; [test appendString:@“\ nTesting 2”]; NSLog(@“%@”,测试); }
并且仪器告诉我该代码中存在内存泄漏。
那么为什么它无法检测到UIButton泄漏?任何评论将不胜感激!
答案 0 :(得分:0)
仪器没有告诉您,您的代码没有泄露。当仪器检测到泄漏时,肯定存在泄漏。但是,如果它没有检测到泄漏,则并不一定意味着您的代码没有泄漏。不要问我的原因,但是仪器无法检测到内存泄漏。 不幸的是,我没有官方消息来源引用。您可能希望观看this years WWCD Videos,尤其是“使用乐器进行高级内存分析”。它给出了一个很好的概述,关于仪器的能力和它的限制(包括我刚才告诉你的)。