作者lemonstar (笔记本)
看板MacDev
标题[问题] leak of NSThread
时间Mon Jun 8 12:11:36 2009
在Stanford教学中
http://www.stanford.edu/class/cs193p/cgi-bin/index.php
有篇NSThrad的Sample : Lecture 10 - LetsMakeAThread
Sample Code连结 :
http://www.stanford.edu/class/cs193p/downloads/10-LetsMakeAThread.zip
他的架构大致如下 :
1. Thread进入点:
[NSThread detachNewThreadSelector:@selector(
someFunction)
toTarget:self withObject:nil];
(说明文件有提到,"detachNewThreadSelector:.." method中,
selector function 必须自订一个autoreleasepool )
2.someFunction 内容: (没忘了加autoreleasepool)
-(void)
someFunction{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
[NSThread sleepforTimeInterval:3];
[self performSelectorOnMainThread:@selector(finishFunction) withObject:nil
waitUntilDown:NO];
[pool release];
}
3.end:
-(void)finishFunction{
...................
}
问题来了,当我把它放上实机跑Insttrument,就出现一根memory leaks
(General Block - 3584)
情形大致就与这篇论坛的情形一样(有画面)
http://0rz.tw/4SViG
用这个method去启动新的NSThread,每启动一个都会出现memory leak...
不知有无解决之道 :(
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.128.227.51
※ 编辑: lemonstar 来自: 220.128.227.51 (06/08 12:26)
1F:→ yllan:try [pool drain]? 06/08 12:26
2F:→ lemonstar:sorry修到推文.. 06/08 12:28
3F:→ lemonstar:好像还是一样ㄟ.. 06/08 12:34