Android Studio模拟器会延迟吗?
我正在设计的应用程序的一部分要求用户点击一个按钮十次,然后根据他们点击的速度,返回每分钟的平均BPM节拍。我注意到,在我单击鼠标和模拟器显示正在单击的按钮之间似乎有延迟,但我不确定这是否意味着什么 问题是它给我的BPM根本不准确。如果我是正确的,那么BPM应该等于点击按钮10次*60秒/点击按钮10次所需的秒数,但这显然不适用于我的代码。奇怪的是,一个比60更准确的倍数一直是52,我不知道为什么 如果是编码错误,以下是附加的方法:Android Studio模拟器会延迟吗?,android,emulation,delay,Android,Emulation,Delay,我正在设计的应用程序的一部分要求用户点击一个按钮十次,然后根据他们点击的速度,返回每分钟的平均BPM节拍。我注意到,在我单击鼠标和模拟器显示正在单击的按钮之间似乎有延迟,但我不确定这是否意味着什么 问题是它给我的BPM根本不准确。如果我是正确的,那么BPM应该等于点击按钮10次*60秒/点击按钮10次所需的秒数,但这显然不适用于我的代码。奇怪的是,一个比60更准确的倍数一直是52,我不知道为什么 如果是编码错误,以下是附加的方法: public void buttonOnClic
public void buttonOnClick(View v){
Button button=(Button) v;
TextView counts = (TextView)findViewById(R.id.textView);
TextView bpmText = (TextView)findViewById(R.id.textView2);
if(total==10){
startTime = System.nanoTime();
}
total=total-1;
counts.setText(total+"");
if(total == 0){
long elapseTime = System.nanoTime() - startTime;
double secs = elapseTime/1000000000.0;
counts.setText("");
button.setEnabled(false);
button.setText("");
bpm = (int)((10*BPM_CONSTANT)/secs);
bpmText.setText(bpm+"");
}
}
BPM_常数是倍数,我认为应该是60
是电脑,还是我的逻辑?或者我的点击不准确?感谢您的反馈。将bpm计算结果强制转换为整数会导致精度损失超过需要。改用intMath.rounddouble