android 精确定时器,Android计时器不准确

好的,所以,我是java和Android编程的真正初学者.我正在尝试为友谊赛制作一个篮球应用程序.现在我正在制作一个从24到0的拍摄时钟,播放声音,并通过一个按钮重置.

public class MainActivity extends Activity {

private ShotClock shotClock;

private TextView shotClockTimer;

private Timer timer = new Timer();

private Button shotClockReset;

private final static int interval = 100;

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

shotClockTimer = (TextView) findViewById(R.id.shotClock);

shotClockReset = (Button)findViewById(R.id.shotClockReset);

shotClock = new ShotClock();

shotClockReset.setOnClickListener(new OnClickListener(){

@Override

public void onClick(View v) {

shotClock.shotClockReset();

}

});

timer = new Timer();

timer.schedule(new TimerTask() {

@Override

public void run() {

TimerMethod();

}

}, 0, interval);

}

private void TimerMethod() {

this.runOnUiThread(Timer_Tick);

}

private Runnable Timer_Tick = new Runnable() {

public void run() {

shotClock.advanceClock();

shotClockTimer.setText(String.format("%.1f",shotClock.getSeconds()));

}

};

}

这个想法是我有一个每0.1秒一次的计时器并相应地更新时钟.这工作正常,时钟从24-0开始计数并正确复位.我的问题是它不准确 - 我用其他3个计时器测试它,它总是有点慢:当其他计时器达到0时,这个只剩下~1-1.5秒.除了以原始方式更改间隔之外,我还能做些什么来使其更准确?因为我是新人,请保持友好:)感谢您的帮助!


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部