1.Handler 是Android中消息的分发机制,它把消息加入到一个队列中(MessageQueue),并分发和处理该消息队列中的消息,从面实现在子线程中更新主线程中UI的操作。
2.Thread 是线程,一般做一些耗时的操作的时候可以开启一个线程,线程的状态一般包括:创建,就绪,运行,阻塞,等待,死亡。
3.HandlerThread 这个我也是最近听说的,之前没有怎么用过,其实本质上还是一个Thread,它继承了Thread,只是在它的内部使用了建立了Looper,可以让我们在自己的线程中进行消息的分发和处理。
它的常规用法:
mThread = new HandlerThread("fang");
mHandler = new Hanlder(mThread.getLooper()){ ..handleMessage(String msg)...}
mThread.start();
4.我实现了一个简单的小Demo,实现实时更新当前的北京时间:
public class HandlerThreadActivity extends AppCompatActivity { private TextView mTvServiceInfo; private boolean isUpdateInfo; private Handler mHandler = new Handler(); private HandlerThread mCheckThread; private Handler mCheckHandler; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_handler_thread