私のアプリは、私が理解しがたい理由から、多くのクラッシュがありました。それがクラッシュだということはあまりありません - それは外で「不明」のプロセスによって殺されています:Xcode Instrumentsのアロケーションツールがかなり足りない
Processes
Name <UUID> rpages recent_max [reason] (state)
test-app <....> 167111 167111 [per-process-limit] (frontmost) (resume)
私は場合、私は、メモリの巨大なブロック、または無数の小さなブロックを割り当てたが、私は」ことを理解できますそんなことは何もしない。 Instrumentsのプロファイリングでは、大容量のコンテンツを読み込んだときにアプリが約8 MBしか使用しないことがあり、時には最大13 MBをスパイクすることがあります。深刻なリークはなく、アプリは非常に迅速に殺されることがよくあります。
同僚がActivity Monitoryを使用して、シミュレータで実行中にアプリケーションのメモリ使用量を確認し始めたところ、起動時にメモリが約70 MB(シミュレータでは多少異なると思われます)から800 MB特定のライブラリを使用しています。だから、私はシミュレータではなくデバイス上でプロファイリングを始めました。
そう... VMトラッカーは、そのいくつかの重要なメモリの使用を参照してくださいすることができますように見えます:割り当てツールは、アプリが8っぽいMBを使用しますが、VMトラッカーはまた別の話を伝えたことを報告し続け割り当てはできません。
割り当てツールがこのアプリケーションで使用しているメモリの99%が不足しているのはなぜですか?
更新:はnielsbotの質問に応えて、私は、VMトラッカーの情報をよく見ていたし、私は割り当てでは見ていないよメモリの大部分は、Core Animationのに起因していることがわかった。
私はVMのスペースが共有フレームワークや、メモリマップのようなものを含んでいると思います割り当てはできません... – nielsbot
地域の表示には何が表示されますか? – nielsbot
実際には、回答に貼り付けた出力に「rpages」(常駐ページ)と具体的に言及しています。私はあなたがフレームワークの "高水"住民のページを制限しようとしなければならないと思います... – nielsbot