アップルのサンプルアプリケーションと私が取り組んでいるゲームで同様の動作が見られました。ゲームでは、メモリ不足によりアプリケーションがクラッシュすることがあります。サンプルアプリケーションはTouchesです。iPhone:タッチを使用しているアプリケーションのメモリ使用量が徐々に増加しています
タッチ中のオブジェクトのいずれかを移動しているときや、ゲーム内で接触がほとんどなくなったときなど、タッチが追跡されているときはいつでも、メモリの使用量は長時間タッチを動かし続けるとタッチシーケンスが完了すると、メモリ使用量は元に戻りません。私はTouchesを手に入れました.Touchesは半分以下のメガを使い始まり、約4MBの正味割り当てまで数分間かけて遊んでいます。そのメモリは決して割り当て解除されません。
私の質問です:なぜこのメモリは決して割り当て解除されませんか?根本的に何かを誤解していますか?これはフレームワークの欠陥ですか?私は、加速度計の問題とタッチの漏れに関するいくつかを読んだが、私はこのゲームでは加速度計を全く使用していない。
これはまさに私がその環境変数を残しておいたのを忘れたときに起こったことです。これらの自動リリースされたすべてのタッチオブジェクトに対して、メモリは蓄積され続けました。 –
これはその大部分を占めているようです。私はゾンビをオフにし、メモリ使用量が改善されました。しかし、メモリ使用量は依然として増加しています。私はTouchesと対戦した試合を再考すると、Touchesがゾンビを持っていないようで、着実に増加しているフットプリントを示していたようだが、タッチコードのCFSetオブジェクトを保持していなかった。今では私のコードはCFSetオブジェクトに関して同じように動作していますが(たまにいくつかのものがあります)、時間の経過とともにフットプリントが増えています。 –
omfg、これは私に6ヶ月以上問題を引き起こしています!ありがとうございました!さて、私は最終的に悲鳴を上げることなく夜を過ごすことができます... – ngb