この記事は旧ブログ(amuns:blog)の記事です。

前回Build and Analyzeである程度開放忘れなどを確認しましたが、今回はLeaksというツールを使います。

前回同様、開放をしないでリークするようにします。

-(void) buttonClick {
  // アラートテスト
  UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"タイトル"
      message:@"テストボタンがクリックされました"
      delegate:nil
      cancelButtonTitle:@"OK"
      otherButtonTitles: nil];
  [alert show];
  // あえてコメント
  //[alert release];
}

ビルドして、Leaksを起動しましょう。

mac_iphone13

Leaksが起動され、同時にアプリも起動されます。

mac_iphone14

メモリリークが発生する処理を実行してみましょう。

mac_iphone15

赤く線がでました。
これがでた場合リークが発生しています。
以下のように詳細で確認しましょう。

mac_iphone16

Responsible Frameあたりでどの処理か分かる場合もあります。
リークが発生した処理を改めて確認しましょう。

リークの発生しない安定したアプリを作成しましょう!