2012-02-22 14 views
5

アクティブな割り当て量が少ないコード(Instrumentsでは約5 MB)がありますが、システムメモリの使用量が多い(100 MBを超える)コードがあります。私はコードがリークフリーであることを知っていますし、いくつかの最適化の後に割り当てスパイクが見えませんが、メモリ使用量が多いためにクラッシュしています。仮想メモリの使用率が高く、iOSでの割り当てが低い

私は多くのことを知り、私はメモリ使用量が多いことを確認するVM Tracker計測器を使用するはずですが、この状況に対処する方法がわかりません。私は可能な限り少ないメモリを使用していますが、それはまだiPad 1上ではあまりにも多いです。私がそうでないときにOSが大量のメモリを汚れていないようにするための知識やツールはありません実際にそれを使用しています。ここからどこに行くのですか?

答えて

0

プロファイルツールを使用して、memory + allocationを選択します。 VMトラッカーをクリックし、スナップショットを作成します。これにより、オブジェクトタイプごとに常駐ダーティーおよび仮想メモリー使用量のリストが作成されます。これはあなたにどこを見せるか指示します。

私は最も一般的な問題は、あなたがautoreleasepoolにある多くのautoreleasedオブジェクトを持っているということだと思います。以下のリンクは、オートリリーフを処理する方法の詳細を説明しています: How does the NSAutoreleasePool autorelease pool work?