インターフェイスビルダーでUIButtonを作成するときにxcodeで計測器アプリケーションを実行しているときにメモリリークが発生する理由を調べようとしています。instrument:UIButtonを作成するときにメモリリークが発生する
これは私がメモリリークを作成した方法です。
新しいアプリケーションを開き、インターフェイスビルダーにmyAppViewController.xibファイルを開きました。 背景を黒に変更しました。 UIButtonを追加し、タイトルを "foo"に変更しました。 を保存して終了します。ここで
#import "miPlanNewViewController.h"
@implementation miPlanNewViewController
@synthesize tasksProjects;
...
//the normal methods you get
...
- (void)dealloc {
[super dealloc];
}
@end
は私が取得しています何のスクリーンショットです:私は、次のを持っているmyAppViewController.mファイルに
#import <UIKit/UIKit.h>
@interface miPlanNewViewController : UIViewController {
IBOutlet UIButton *tasksProjects;
}
@property(nonatomic, retain) IBOutlet UIButton *tasksProjects;
@end
を以下しているmyAppViewController.hファイルで
楽器の瞬間
私はしかし、気づくことの一つ....
私はインターフェイスビルダーではまだuibuttonにコンセントを接続し、しかし、私はインターフェイスビルダーからUIButtonを削除すると、保存されていません、そして楽器でプログラムをやり直してみると、どんな種類のリークもまったくありません。
誰かが何が起こっているのか、どうすればこの問題を解決できるか説明してください。ありがとうございました。
これは、シミュレータではなくデバイスでテストするときに表示されますか? Appleの推奨事項に従って、iOSシミュレータをメモリリークチェックに使用しないでください。シミュレータは、デバイスが動作しない場所でリークするためです。 – lxt
...私は参照してください。しかし、私の他のプロジェクトでは、同じ場所でシミュレータがリークし、ビュー間で切り替わったときにアプリケーションが閉じてしまうことがあります。シミュレータ上の私もこのためですか?確かにシミュレータは私のアプリを閉じてはいけません。時には、私はteのexc_bad_accessの警告を見ることができますシミュレータがほとんどの場合には、リークを意味する終了? – Pavan
あなたのアプリがメモリの問題のため閉鎖されている場合、上に見ているリークのためになることはありません。それは128バイトしか漏れていない、それは何もない。あなたは何千もの時間を漏らすことができ、まだメモリの警告を得ることはできません。私が言っていることは、*あなたはメモリデバッグのためにシミュレータを使うべきではないということです。シミュレータはデバイスに何が起こっているかを反映しません。メモリリークテストやデバッグには、デバイスを使用する必要があります。 – lxt