0

アプリにログインしてからサインアウトし、別のマークを付けます(すすぎと繰り返し)。ご覧のとおり、私のLoginviewはすべてのインスタンス化で保持されています。保持カウントを維持するための原因を見つけるための最良/最も簡単な方法は何ですか?コード内で何かを見つけようとしているだけで、予想よりも時間がかかっています。

背景情報:ARCを有効にしてコンパイルされたxcode 4.6は、保持の問題が残っている唯一の「ビュー」です(他のすべてを修正しました)

ヒープショット

**編集**

LoginView次のようにインスタンス化されます:

- (id)initWithCoder:(NSCoder *)coder
{
    self = [super initWithCoder:coder];
    if (self) {
        [super trackPageViewFor:@"/login"];
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleKeyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleContentChange:) name:CONTENT_CHANGE object:nil];
    }
    return self;
}
- (void)removeFromSuperview
{
    [[NSNotificationCenter defaultCenter] removeObserver:self];

    [super removeFromSuperview];
}

そして、次のビューがロードされると、前のビューをメモリから削除します(ARCの助けを借りて)

**オブジェクトリストの編集**

サイクルとルーツ

4

0 に答える 0