Java Android处理器缩短延迟?

Java Android处理器缩短延迟?,java,android,Java,Android,我正在创建一个按钮,在使用处理程序的延迟功能抓取两个相等的光照值持续2秒后,停止光照传感器。一开始效果不错,但当我再次按下按钮时,延迟似乎越来越短,最终根本没有发生 stateLx.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { onResume(); stateLx.setEnabled(false); doub2x.setText

我正在创建一个按钮,在使用处理程序的延迟功能抓取两个相等的光照值持续2秒后,停止光照传感器。一开始效果不错,但当我再次按下按钮时,延迟似乎越来越短,最终根本没有发生

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。

谢谢!我用电脑把它修好了