NSXMLParser を使用して解析アルゴリズムを構築します。メモリ使用量を最小限に抑えるための最良の戦略は何かについて疑問があります。
私は valueObject (例えば "Person") を持っています。このオブジェクトには約 30 個の NSString プロパティがあります。これを確認したところ、一度にインスタンス化されたこれらの Person オブジェクトは 1 つだけです。ノードがトラバースされ、Person が「ビルド」されると、Person を NSMutableArray に渡し、この Person を解放します。そこは問題ないようです。(tableView には配列が必要です)。配列内の約 50 以上の Person オブジェクトに到達すると、アプリが終了しただけで、didReceiveMemoryWarning が呼び出されず、他の警告も parseErrorOccurred も何も表示されませんか?
xml で Persons の数を制限すると、アプリは問題なく動作しますが、Instruments でメモリ リークを見つけることができませんでした。配列に 50 個以上の Person オブジェクトを保持することはできないと思います...少し厳しいようですが、iPhone でのメモリの経験があまりないので、これは単なる推測です。
xml は検索結果であり、ユーザーはおそらく少数しか必要としないため、それらをコア モデルに永続化して表示用に保持するのは少しクレイジーに思えます。
これらの Person オブジェクトを保持するための適切な戦略は何でしょうか? それとも、iPhone はこれよりもはるかに多くを処理できるはずなので、巨大なメモリ リークを見逃しているのでしょうか?
経験豊富な開発者が私を正しい方向に向けてくれることを願っています:)
ありがとうございました!