Java Android处理器缩短延迟?
我正在创建一个按钮,在使用处理程序的延迟功能抓取两个相等的光照值持续2秒后,停止光照传感器。一开始效果不错,但当我再次按下按钮时,延迟似乎越来越短,最终根本没有发生Java Android处理器缩短延迟?,java,android,Java,Android,我正在创建一个按钮,在使用处理程序的延迟功能抓取两个相等的光照值持续2秒后,停止光照传感器。一开始效果不错,但当我再次按下按钮时,延迟似乎越来越短,最终根本没有发生 stateLx.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { onResume(); stateLx.setEnabled(false); doub2x.setText
stateLx.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
onResume();
stateLx.setEnabled(false);
doub2x.setText(Double.toString(0));
doub1x.setText(Double.toString(0));
//Stabilization Handlers
m_handler = new Handler();
m_handlerTask = new Runnable() {
public void run() {
doub1 = movingValue[0];
doub1x.setText(Double.toString(doub1));
m_handler.postDelayed(this, 1000);
}
};
m2_handler = new Handler();
m2_handlerTask = new Runnable() {
public void run() {
doub2 = movingValue[0];
doub2x.setText(Double.toString(doub2));
m2_handler.postDelayed(this, 2000);
if (doub1 != doub2) {
instructions.setText("unequal");
} else {
instructions.setText("equal");
getInitialLightValue();
reCalculateInitial();
beerLambert(volValues, lxValuesNew);
}
}
};
//Handlers for stabilizer
m_handler.postDelayed(m_handlerTask, 1000);
m2_handler.postDelayed(m2_handlerTask, 3000);
lame.setText(Double.toString(absorbValues[0]));
stateLx.setEnabled(true);
}
});
我尝试过将处理程序放入和退出onclick函数,以及在按钮按下开始时包含onResume函数,但是我没有运气。我的代码有问题吗?您一直在重新创建处理程序和可运行程序。这是问题的一部分,在重新开始之前,您应该检查是否已经进行了轮询 另外,这是一个旁注——但调用生命周期方法(如onResume yourself)是很奇怪的,因为它调用了super。谢谢!我用电脑把它修好了