这个问题是我的同学提出来的,原帖在http://bbs.csdn.net/topics/390933411
大概是这样:
<pre name="code" class="objc">- (IBAction)touchToCreateThread:(id)sender {
int i=10000;
NSString * data;
<span style="font-family: Arial, Helvetica, sans-serif;"> dispatch_queue_t queue = dispatch_queue_create("com.wang.queue", NULL);</span>
while(i>0)
{
data = [[NSString alloc]initWithFormat:@"%i",i];
NSString * str = data;
dispatch_async(queue, ^{
{
[self print:str];
}});
i--;
}
}
-(void) print:(NSString*)str
{
NSLog(@"%@",str);
str = nil;
}
上面的代码,在点击button执行了touchToCreateThread方法后,内存会暴涨
执行方法前:
执行方法后:
进程中线程变化:
结果是这样子的,最后内存就卡在了60MB左右(这是只点一次button的情况,如果你在线程调度过程中再