我使用以下代码(使用ARC)呈现UIActivityViewController:
- (IBAction)share:(id)sender {
UIActivityViewController *activityController = [[UIActivityViewController alloc]
initWithActivityItems:[NSArray arrayWithObjects:@"Cat",@"Dog" , nil]
applicationActivities:nil];
[self presentViewController:activityController animated:YES completion:nil];}
使用乐器“Leaks”在iphone模拟器上运行程序。 显示视图并单击取消后: 在以下行获得泄漏(100%):
[self presentViewController:activityController animated:YES completion:nil];
我做错了什么?
答案 0 :(得分:0)
alloc
由ARC
自动平衡。但是将activityController
移交给self会增加引用计数,并将对象放入autorelease pool
(如果存在)。因此,如果您的代码在没有autorelease pool
的线程中运行,则此对象将泄漏。