1

ゲームを起動する前に、5MBのHD画像(iPad用)をロードする必要があります。読み込みの進行中のどこかでクラッシュします。さて、それが5MBの問題であることを確認するために、代わりに2.5MBのLDイメージ(iPhone品質)をロードしようとしました。正常に動作し、クラッシュは発生しませんでした。

5MB以上のメモリを予約できないということですか?それを行う方法があるはずです。

これは、バックグラウンドで保留中のアプリが増えると、より頻繁に発生します。また、クリーンリブートの直後にゲームを実行してもクラッシュしません。したがって、それは私のゲームをクラッシュさせるメモリの問題であるに違いありません。

これをどのように処理できるか考えていますか?

4

1 に答える 1

1

5MBの圧縮画像データは、圧縮解除するための多くの(4x-10x)メモリ要件に簡単に爆発する可能性があります。

これをどのように処理できるか考えていますか?

AppleのInstrumentsを使用して、メモリ使用量を確認します。

次に、iOS自体が画像をキャッシュしていないことを確認します(使用しているAPIとそのドキュメントを確認してください。キャッシュするものと、キャッシュしないものがあります)。

次に、画像を早く破棄できるかどうかを確認します。画像は非常に大きくなる可能性があります(そして、それらの画像の多くのメモリはiOSの内部にあるため、Instrumentsを使用するとMonoTouch独自のHeapShotプロファイラーよりも優れた画像が得られます)。アイディア)。

また、たとえば最初の画像が破棄された後など、一部の画像(または少なくともそれらの解凍されたバージョン)の読み込みを遅らせることができるかどうかを確認してください。

于 2012-10-12T13:29:07.857 に答える