Android中的UI是单线程模式,UI的更新需要在本线程中完成,因此我们无法开启新线程来管理更新UI的线程,而我们常用的方法是通过Handler来实现UI线程的管理和更新。

 

 

我们假如一个UI界面view,他需要在一定时间更新上面的数据,那么我们该如何使用Handler来更新UI操作?代码如下。

private Handler handler;
handler.post(new Runnable(){
      public void run(){
          view.invalidate();
          handler.postDelayed(this,1000);
      }
});

如上所示,线程其实是在UI自身中,通过handler来间隔一段时间执行View的invalidate方法,实现UI的更新。除了使用Handler,我们还可以通过开启其他线程(同样该线程需要处于UI自身中)来实现同样的效果,我们将在下一文章中做介绍。