私は現在、少し前に始めたゲームに取り組んでいます。進捗状況は良好で、すべてがスムーズに実行されましたが、XCode Instruments を使用してコードのリークをチェックすることにしました。私は ARC を使用しており、新しいオブジェクトは他のオブジェクトが削除されたときにのみ追加されますが (ゲームの内部動作の一部)、合計メモリ サイズは実行中に増加し続けます。
私のゲームは完全に手続き的に生成され、アセットを必要としません。また、色のみでマッピングされたポリゴンをいくつか使用するだけなので、テクスチャはありません。実行するのに数MBしか必要としないと思いますが(最初から)、成長し続けています。
ここで、興味深いことに気付きました...データの大部分を使用しているのは、IOAccelResource というエントリです。加速度計/ジャイロスコープ/コンパスのデータを使用していないため、これは奇妙です。プロジェクトで参照されている CoreMotion フレームワークさえ持っていません。
データの 2 番目の主要な用途は、成長し続ける 4 つの malloc のコレクションです。比較的同じままのものがさらにいくつかあります。
ただし、これら 2 つのエントリは、プログラムによってリークとは見なされません。また、XCode にコードを分析するように指示しても、問題はありません。
他のエントリはすべて非常に小さく、ほぼ同じポイントで変動するか、同じままです。
面倒なエントリのスクリーンショットを次に示します。
何かアドバイス?