/ / VMトラッカーによるiOS分析汚れたメモリと常駐メモリが原因でメモリの警告が発生する場合、どうすればよいですか? - iphone、ios、メモリ、メモリ管理、メモリ警告

VMトラッカーによるiOS分析汚れたメモリと常駐メモリが原因でメモリの警告が発生する場合、どうすればよいですか? - iphone、ios、メモリ、メモリ管理、メモリ警告


こんにちはコミュニティ、 私はそれをデバッグしようとしていますこのアプリはオンラインで動作し、すべてのパス(多くのパス)をメモリに保存するファイルシステムのすべてのコンテンツをキャッシュします(間違ったアプローチですが、私はそれに取り組まなくてはいけません)。すべての内容をダウンロードし、相対パスでメモリを埋める。
問題は、このオプションをチェックすると、アプリはダウンロードとキャッシュを開始しますが、終了する前にクラッシュすることです。シミュレータ上では、すべてうまく動作します。
クラッシュレポートのログでメモリの警告が表示されるアプリはjetsamによって殺されました。 楽器の割り当てでアプリを追跡するライブのバイトが約7MBの「ちょうど」であることがわかります。これは、ダウンロード中に追加されたフラッシングメカニズムを使用することによっても助けられ、ダウンロードの終了後に古いパスを解放します。
目に見える漏れはまったくありません。
私はVMTrackerを使い始めました。住人と汚れたメモリが61Mbと21Mbのピークでかなり高いことがわかりました。
私はそれについて多くの質問を読んだ
仮想メモリに関連して「ダーティー」と「常駐」とは何を意味しますか?
Objective-Cで常駐している汚れたメモリを取り除くにはどうすればいいですか?
しかし、私は他の汚れたメモリがどこから来ているのか、ほとんどのパスを公開していますから、どうすればいいですか?
ありがとう、
アンドレア

回答:

回答№1は6

まあ、私が推測する解決策を見つけた..いろいろなテストをしていますが、おそらく接続が何かをキャッシングしていることが分かったので、NSURLCache 0byteを設定しました。私のアプリケーションは、ほとんど半分の汚れたメモリ、ほぼ半分で動作するようです。大きな改善。ここに驚くべき2行のコードがあります。

[[NSURLCache sharedURLCache] setMemoryCapacity:0];
[[NSURLCache sharedURLCache] setDiskCapacity:0];

私がアップルのテックトークを話したように、汚れたメモリもデータキャッシュを表すことができますが、私はまだURL要求でキャッシュポリシーを設定しようとしませんでしたが、おそらく効果は同じになります。

誰かを助けることを願っています。