0

ゲームを書いていますが、何か (画像/効果音) を読み込んだ後、タッチスクリーンに大きな遅延が発生するという問題があります。画面をタップすると、しばらくするとタップが登録されます。これは iPhone 4 や iPad ではほとんど目立ちませんが、それよりも古いもの (特に 2G デバイス) では、タッチが登録されるまで数秒かかります!

明確にするために、タップして...画面から指を離し、約5秒後にクリックしたアイコンがタップを登録します。

大量の画像を読み込んだ後にのみ発生するようです(各レベルの開始時とフロントエンドに戻るときに行います)。「追いつく」と、すべて正常に動作します。

ロード後に touches バッファをフラッシュする方法はありますか (存在する必要があると思います!)。

前もって感謝します

シチュー

4

1 に答える 1

0

あなたがやりたいように聞こえるのは、「キャッシュをクリアする」ことです。大きな画像を読み込むと大量のメモリが消費されます。ご存知のように、スマートフォンのメモリは貴重な商品です。十分に手に入れることはできません。特に、ヒープ ストアとガベージ コレクションを扱うランタイム言語でプログラミングしている場合。多くの場合、使用可能な RAM がすべての要求を「バッファリング」するための十分なアドレス指定可能なスペースを提供しない場合に得られる動作が見られます。あなたが抱えているもう1つの問題は、処理能力とコアです...最近の電話はかなり良くなっていますが、標準のコンピューティングデバイスと比較すると、まだ不十分です. スレッドが不足している場合、アプリはスレッドが空くまで待機する必要があります。これは、あなたが抱えている問題にもつながる可能性があります...実際、これが問題だと思います. それが役立つかもしれない前に、フォーラムの投稿を読みました:

iPhone アプリのキャッシュ データはいつ削除する必要がありますか?

次のようにキャッシュをクリアできます...しかし、それで問題が解決するかどうかはわかりません。これらの画像を保持している場合、電話機のフラッシュ メモリに保存する予定はありますか? イメージをメモリから削除した場合は、イメージを再度表示する必要があることに注意してください。ここで背景画像について話している場合は、画像のサイズを小さくするか、より大きな画像を読み込んで DIV でスプライトすることをお勧めします。あなたが「ゲーム」をどのように構築したかは定かではないので、最良の選択肢を推測することはできません。

于 2011-09-16T11:00:53.007 に答える