如何创建用于执行画布渲染的计时器

时间:2013-06-18 04:47:22

标签: android canvas timer

public void BetTimerFuction()
    {
        int delay=0;
        int period=200;
        betTimer = new Timer();
        betTimer.schedule(new TimerTask() {

            @Override
            public void run() {
                // TODO Auto-generated method stub
                mHandlerBet.obtainMessage().sendToTarget();

            }
        }, delay, period);

    }

它是我的计时器代码,但我没有在视图类中使用该计时器我也使用画布。 当我在视图类中使用该计时器时,计时器获得一个数字,当我单击按钮时,它会非常慢,它会增加整数两个计时器

2 个答案:

答案 0 :(得分:1)

我修改了你的代码,因为我觉得在那段代码中没有问题。但是,如果您先使用并且也正确停止,可能是您没有正确初始化以使计时器为空。

public void BetTimerFuction()
    {
        int delay=0;
        int period=100;
        betTimer = new Timer();
        betTimer.schedule(new TimerTask() {

            @Override
            public void run() {
                // TODO Auto-generated method stub
                mHandlerBet.obtainMessage().sendToTarget();

            }
        }, delay, period);

    }

这是你停止功能

public void StopBetTimer()
     {
            try
            {
                if(betTimer !=null)
                {
                    betTimer.cancel();
                    betTimer=null;
                }
            }
            catch(Exception e)
            {

            }
      }

答案 1 :(得分:1)

我认为你首先为你的停止功能做空。

public void StopBetTimer()
     {
            try
            {
                if(betTimer !=null)
                {
                    betTimer.cancel();
                    betTimer=null;
                }
            }
            catch(Exception e)
            {

            }
      }