2011-09-16 6 views
0

ゲームを書く中で、何か(画像/効果音)をロードした後、タッチスクリーンが大量の待ち時間に苦しんでいる。私は画面をタップし、しばらくするとそのタップが登録されます。これはiPhone 4やiPad上ではほとんど目に見えませんが、古いもの(特に2Gデバイス)では、タッチする前に数秒前に見ています!何かをロードした後の接触の遅れ/遅れ

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

これは、大量の画像をロードした後に発生するように見えます(各レベルの開始時とフロントエンドに戻るとき)。いったんそれが 'キャッチアップ'すると、それは再びすべて正常に動作します。

ロード後にタッチバッファをフラッシュする方法はありますか(私が存在する必要があると仮定します)。事前

シチューで

おかげで、あなたがやりたいように聞こえる何

+0

イメージ/サウンドエフェクトをバックグラウンドスレッドまたは非同期で読み込むことは可能ですか? –

答えて

0

は、「あなたはキャッシュをクリア」です。大きな画像を読み込むとメモリが大量に消費され、われわれが知っているように、スマートフォンのメモリは価値のある商品です...あなたはそれを十分に得ることができません。特に、ヒープストアとガベージコレクションを扱うランタイム言語でプログラミングしている場合。利用可能なRAMが "バッファリング"するすべての要求に対して十分なアドレス可能なスペースを提供しないときに、あなたが得ている動作をよく見ます。あなたが持っている別の問題は、処理能力とコアです...現代の携帯電話は、彼らはまだ標準的なコンピューティングデバイスに比べてペールがかなり良くなっているが。あなたがスレッドを使い果たした場合、アプリケーションは1つが解放されるまで待つ必要があります。これはまたあなたが持っている問題につながることができます...実際には、私はこれが問題だと思います。それが役立つかもしれない前に、私は、フォーラムの記事を読む:

When should we delete the cache data in an iPhone apps?

を次のようにあなたはキャッシュをクリアすることができます...しかし、私はあなたの問題を解決することを確認していません。あなたはこれらのイメージを周りに保持している場合、あなたは電話のフラッシュメモリにそれらを格納するつもりですか?覚えておいてください。イメージをメモリから削除する場合は、イメージを再び元に戻す必要があります。画像のサイズを小さくするか、DIVで画像全体とスプライトを読み込む方が良いでしょう...ここで背景画像を話しているのであれば。私があなたがどのように "ゲーム"を構築しているかわからないので、私は最良の選択肢を推論することはできません。

関連する問題