2

こんにちは、Google マップのマーカーを更新し、マーカーをさまざまなジオポイントに移動するアプリを開発しています。

マーカーを 10 ミリ秒ごとに数メートル移動して、マップ上でスムーズに移動できるようにします。

私はそれを行うためにカウントダウンタイマーを使用しています(たとえば、マーカーを10ミリ秒ごとに数メートル移動します)が、ご存知のように正確ではありません。

アクションをループするために他に何を使用できますか?より正確にすることができますか?

使いましょうかSystem.nanotime();

そして、これが最良の方法である場合、例を得ることができますか?

4

2 に答える 2

2

TimerTask とタイマーを試す

Timer timer = new Timer();
TimerTask task = new TimerTask() {
    @Override
    public void run() {
        // YOUR CODE HERE
    }
};

timer.scheduleAtFixedRate(task, 0, 10000);

うまくいけば、それはあなたを助けます!

于 2012-02-02T09:16:35.080 に答える
0

問題は時間に依存するだけではないと思います.UIの更新ごとにAndroidのメインスレッドがループしますが、これはアプリケーションだけのものではありません。メインスレッドに更新を投稿するのに十分な期間を設けて、別のスレッドを使用することをお勧めします。

于 2012-02-02T09:17:12.053 に答える