タイマーを使用して画像を更新していますが、致命的なパフォーマンス上の問題が発生します。その後、ログを出力し、タイマーが1500より速く実行されることを確認します。 問題は何ですか?私のタイマースレッドで何が問題になっていますか?
間違った速度でスケジュール:
startToDraw()353:のSystem.currentTimeMillis()= 1332742387400
startToDraw()353:のSystem.currentTimeMillis()= 1332742387410
startToDraw()353。 :のSystem.currentTimeMillis()= 1332742387438
startToDraw()353:のSystem.currentTimeMillis()= 1332742387449
startToDraw()353:のSystem.currentTimeMillis()= 1332742387472
timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
while (!isDestroyed) {
try {
Log.i(getClass().getName(), "startToDraw().353: System.currentTimeMillis() = " + System.currentTimeMillis());
handler.sendMessage(new Message());
} catch (Exception e) {
}
}
}
}, 0, 1500);
? 'sendMessage'はすぐに戻ります。 – sastraxi
メインスレッドにスリープを追加しようとしましたか? – Andreas
Thread.sleep(ミリ秒)を使用してください。 –