0

クラスのプロジェクトを作成していますが、遅延の問題が発生しています。マップがロードされると、何も起こらないので、戻って再ロードする必要があり、しばらくの間は機能するか、いくつかの移動を行った後、次の移動が可能になるまで携帯電話/エミュレーターが数秒かかります. これが私のクラスのセットアップ方法です。

メインコントローラーとしてマップクラスがあります。マップは異なりますが、すべて同じように機能します。マップ クラスは、空の相対レイアウトを使用して通常のようにレイアウトからコンテンツ ビューを設定し、ノード、ラインを作成し、プレイヤーが実行するさまざまな動きをチェックするゲーム ルール クラスを持ちます。ノード、ライン、およびゲーム ルールのクラスは View を拡張するため、onDraw() で、定義された座標で四角形を描画し、それらをマップ クラスのビューに追加します。プレーヤーの操作に応じて、ラインとノードは postInvalidate() を呼び出して数値または色を更新します。ゲームルールクラス内では、勝者または敗者を常にチェックし、誰のターンであるかを示しますが、 onDraw() 内に無効化()があるため、常に再描画されます。描画される 6 つ以上のノードと 10 以上の線があり、ゲーム ルールがすべてをオーバーレイします。

sleep() の使用が理想的ではないことはわかっていますが、ゲーム ルール クラスが作成されてから onDraw() 内で無効化を使用して以来、私はこれを経験しています。私は外出中ですが、後でコードを投稿できます。このプロジェクトに取り組んでいる他の人が Android に触れたことがないので、私もこのプロジェクトでキャンバスを使用して立ち往生しています。

前もって感謝します!

TL;DR: canvas を使用して最適化するにはどうすればよいですか?

4

0 に答える 0