Cocos2d を使用してコンテンツのマップ (技術的にはグラフ理論の意味での大きなツリー) を作成するアプリを構築しています。各ノードは独自のテクスチャを持つスプライトで表され、リーフ ノードはすべて 2 番目の「ボタンが押された」テクスチャを持ちます。さらに、一部のノードは PNG アニメーションです。130 ほどのノード テクスチャを含む 1 つのスプライト シートと、アニメーション用の 3 つのスプライト シートがあります。これら 4 つのファイルをすべて合計すると、約 18.4 MB になります。
アプリを実行し、cocos2d 部分を実行しない場合 (つまり、フレームワークをまったく起動しないため、テクスチャをロードしない場合)、アプリは約 10 MB で実行されます。Cocos2d とそれらのスプライト シートを読み込むと、メモリが 90 MB を超えて急増します。
私の調査によると、私は可能な限り最も効率的な方法で物事を行っているようですが、メモリ使用量がすでに非常に高いため、iPad 1 で多くのメモリ関連のクラッシュが発生しています。
これは cocos2d では正常ですか? 画像自体はそれほど大きくないので、スプライトの数の分だけメモリを消費しているのでしょうか。メモリフットプリントを下げる方法はありますか? 私は途方に暮れていて、非常に銃の下にいます...