【发布时间】:2014-01-30 10:40:26
【问题描述】:
我尝试在dispatch_async 块中使用autoreleasepool,但it doesn't release the str。当timerEvent被重复调用时,会导致内存不足的问题。
- (void)viewDidLoad
{
[super viewDidLoad];
[NSTimer scheduledTimerWithTimeInterval:0.0001 target:self selector:@selector(timerEvent) userInfo:nil repeats:YES];
}
-(void)timerEvent
{
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{
@autoreleasepool {
NSString *str =[NSString stringWithFormat:@"%d and %d",px,py];
NSLog(str);
}
});
}
感谢您的帮助。
----- 解决了 ---------------- 感谢 C_X
计时器间隔设置得太小。就我而言,我发现它至少应该是 0.004。现在,它可以工作了。
【问题讨论】:
标签: ios memory timer grand-central-dispatch autorelease