XIB ファイルから定義された UItableViewCell があります。このセルには UIScrollView が含まれており、その場で UIView オブジェクト (viewXY) で埋められます。コードのどこでもアークを使用しています。UI は次のようになります。
セル 0: [ view00 view01 view02 ...]
セル 1: [ view10 view11 view12 ...]
など...、ここで [ ] は水平方向にスクロール可能なセルの内容です。
問題: アプリのプロファイリングを行ったところ、縦方向に下にスクロールすると、メモリ フットプリントが急速に増加し、私が確認した限りでは、通常の状態に戻ることはなく、横ばいにもなりません。さらに重要なことに、いくつかのセルを下にスクロールしてから元に戻すと、メモリも増加します....
計器ツールで漏れをチェックしましたが、何もありませんでした。
viewXY を作成するコードの部分に問題を絞り込みました。私が使用する場合:
myDisplay* viewXY;//myDisplay is a UIView subclass
-->viewXY = [[NSBundle mainBundle] loadNibNamed:AW_UI_VE owner:self options:nil][0];
[scrollView addSubview:viewXY];
セルをめくると、記憶が制御不能になります。NIB はシンプルな UIView+UIImageView+2 Labels です....
UIImageView *viewXY = [UIImageView alloc] initWithImage:[blablabla]]
[scrollView addSubview:viewXY];
すべて順調。インストゥルメントのLive Bytesは急速に停滞期に達します。
テストの一環として、カスタム クラスで定義されているメソッドを実行せずに NIB ファイルをロードするため、IB で定義されている IBOutlets (デフォルトのラベル テキスト、画像など) が出力されます。
このようなものは私を夢中にさせています。
私が間違っていることを理解するための提案は大歓迎です。