ページ 11

iOSのインスツルメントのリークについて

Posted: 2011年7月14日(木) 19:16
by obott
こんにちは
以下のプログラムをインスツルメントのリークで実行するとおかしくなります。
詳しくは下の方に書きます。
Xcode4.02を使用してiOS4.3の環境です。

ソースファイルを添付しました。

コード:


@interface		Test_HTTP00 : NSObject		{

}

-(id)init;
-(void)dealloc;
-(NSData*)httpGet:(NSString*)url;
-(void)testFunc2;

@end


コード:


@implementation		Test_HTTP00

-(id)init		{
	[super init];
	return		self;
}


- (void)dealloc		{
	[super dealloc];
}


-(NSData*)httpGet:(NSString*)url		{
	NSData*			tDat = Nil;
	NSError*			Error = Nil;
	NSURLRequest*		request = Nil;
	NSHTTPURLResponse*	Response = Nil;

		request = [NSURLRequest requestWithURL:[NSURL URLWithString:url]
					       cachePolicy:NSURLRequestUseProtocolCachePolicy
					       timeoutInterval:10.0];

		tDat = [NSURLConnection sendSynchronousRequest:request
					 returningResponse:&Response
						 error:&Error];

	return		tDat;
}


-(void)testFunc2		{
	int			i;


	for ( i = 0; i < 100; ++i ) {
		NSAutoreleasePool*	LoopPl = [[NSAutoreleasePool alloc] init];
		[self httpGet:@"http://www.google.co.jp/"];
		NSLog(@"%d", i );
		[LoopPl release];
	}
	NSLog(@"End");
}

@end

アプリケーションデリゲートのdidFinishLaunchingWithOptionsの中で

コード:

	    Test_HTTP00*          pTest = [[Test_HTTP00 alloc  ]init];
	    [pTest testFunc2];
 	   [pTest release];
の様にコールしています


上記プログラムをiPhoneシミュレータでのインスツルメントのリークで実行すると強制終了してしまいます。
ループ回数を10とかにすると正常動作する様です。
同様にiPad実機でのインスツルメントのリークで実行すると速度は遅いもののなんとか動作する様です。
iPad実機でのデバッグで実行すると速度は通常の速度です。
皆さんの環境では同様のことは起きませんか?
また、これはプログラム的に問題無いと判断しても良い物でしょうか?

ご存知の方よろしくお願いします。