誰かが私を助けたり、もっと説明してくれる人がいますか?未知のヒープ成長
ボタンを使用してUIPickerViewを割り当ててself.viewに追加するコードを最小限に抑えます。同じボタンを押すと、UIPickerViewがself.viewから削除され、解放されます。
UIPickerViewを削除するたびにInstrutmentsでHeapShotを実行しました。私はときには、0バイトの変更、4xxバイト、...ヒープの成長の2Kバイトと4Kバイトがあることがわかりました。リーケージはありません(赤い棒)。
実際、私の懸念は、ヒープの使用量が大きくなっている場合です。最後に、私のアプリケーションがクラッシュし、今の場合です。私は写真を撮るのを25回行うと、私のサーバーに送信すると、ヒープは、MB(Instructmentsをチェックすることによって明らかな漏れはありませんが1Xに成長する。
これ以上の提案?ここ
は、ボタンのための私のコードです。私の割り当てと解放corretある
- (void) nextButtonClicked {
if (!pickerShown) {
UIPickerView *pickervTemp = [[UIPickerView alloc] initWithFrame:CGRectMake(0.0, 200.0, 320.0, 216.0)];
self.locationPicker = pickervTemp;
[pickervTemp release];
[_locationPicker setDelegate:self];
[_locationPicker setShowsSelectionIndicator:YES];
[self.view addSubview:_locationPicker];
pickerShown = YES;
} else {
pickerShown = NO;
[_locationPicker removeFromSuperview];
[_locationPicker release];
_locationPicker = nil;
}
return;
}
ありがとうございました。それも私の考えです。 UIオブジェクトが割り振られ、解放されたとき、オブジェクトの対応するdeallocが呼び出されて実行されているのを見たとしても、ヒープはまだ成長しているようです。 – SkyEagle888