Android实现计时与倒计时的几种方法(转)

来源:互联网 发布:最好的直通车软件 编辑:程序博客网 时间:2024/05/22 15:00

Android实现计时与倒计时的几种方法

  • 文中作者给了五种不同的计时方法。
  • http://blog.csdn.net/lanxingfeifei/article/details/51769740#comments

作者禁止转载特附上连接

  1. Timer与TimerTask(Java实现)
  2. TimerTask与Handler(不用Timer的改进型)
  3. Handler与Message(不用TimerTask)
  4. Handler与Thread(不占用UI线程)
  5. Handler与Runnable(最简单型)

**计时与倒计时
方法1,方法2和方法3,都是倒计时
方法4,方法5,都是计时
计时和倒计时,都可使用上述方法实现(代码稍加改动)

UI线程比较
方法1,方法2和方法3,都是在UI线程实现的计时;
方法4和方法5,是另开Runnable线程实现计时

实现方式比较
方法1,采用的是Java实现,即Timer和TimerTask方式;
其它四种方法,都采用了Handler消息处理

推荐使用
如果对UI线程交互要求不很高,可以选择方法2和方法3
如果考虑到UI线程阻塞,严重影响到用户体验,推荐使用方法4,另起线程单独用于计时和其它的逻辑处理
方法5,综合了前几种方法的优点,是最简的 **

Handler与Runnable(最简单型)  public class timerTask extends Activity{      private int recLen = 0;      private TextView txtView;      public void onCreate(Bundle savedInstanceState){          super.onCreate(savedInstanceState);          setContentView(R.layout.timertask);          txtView = (TextView)findViewById(R.id.txttime);          handler.postDelayed(runnable, 1000);      }         Handler handler = new Handler();      Runnable runnable = new Runnable() {          @Override          public void run() {              recLen++;              txtView.setText("" + recLen);              handler.postDelayed(this, 1000);          }      };  }  

仅作留档

1 0
原创粉丝点击