1

iPad アプリを作成していますが、奇妙な動作が見られます。キューブ面にテクスチャ イメージをロードしています。各テクスチャのサイズは 1024x1024px です。

アプリでしばらく作業すると、デバッグ中にメモリ警告が表示され、アプリケーションがクラッシュします。作業時間が長くなり、デバッグセッションが実行されるほど、メモリ警告が頻繁に発生し、最悪の場合、毎回メモリ警告が発生します。

オフにしてからオンにすると、iPadアプリは完全に機能し、すべてが正常で、エラーはありません(しばらくの間...)。

デバッグ中にアプリがクラッシュすると、メモリが解放されない可能性はありますか? そして、複数回のクラッシュの後、iPad には以前のリークから大量のゴミが溜まり、正常に動作できなくなったのでしょうか?

4

2 に答える 2

1

あなたが説明したことは、あなたが示唆していることを正確に示唆しているようです。つまり、クラッシュ後、少なくともすぐにはメモリが完全には回復されないということです。ただし、別の説明がある可能性があります。つまり、メモリ使用量を監視し、メモリ警告を送信するセンチネルは、アプリがクラッシュした後 (少なくともすぐには)、アプリの状態をクリーンアップできません。そのため、新しいデバッグ セッションを開始すると、アプリが使用しているメモリの量などに関する古い情報が引き続き使用されます。

iOS の内部を知らなければ難しいですが、少し明確にするために、デバイスの状態と空きメモリの量を提供する多くの無料アプリケーションの 1 つをインストールすることをお勧めします。メモリは実際に残っています。

また、観測に時間変数を導入したり、自分のアプリケーションを再起動する前に別のアプリケーションを起動しようとしたり、自分のアプリケーションを起動してから強制終了したりすることも役立ちます...

于 2011-07-27T10:44:22.840 に答える
0

私は最終的にこの問題を解決しました ;) これは私のコードの単なるメモリ クリーニングの問題でした。

iPad を再起動するとメモリがいくらか解放されましたが、しばらくすると再びいっぱいになり、大きなビットマップ イメージを割り当てているときにメモリ警告が表示されました。その後、ナビゲーション コントローラーがそのビューを解放し始め、メモリが適切に消去されず、最終的にアプリケーションがクラッシュするバグがいくつかありました。

于 2011-10-07T07:22:23.323 に答える