如果你学过线程,那么只需要理解,Handler 在线程的基础上在封装了一下,把线程加入了消息队列,然后对线程进行管理。
想成的2种实现方法:
第一种,继承Thread类,实现run()方法;
第二种,实现Runnable方法,实现run()方法;
Handler 的 post(Runnable r)方法可以将一个Runnable放入队列中运行。
Handler 的postDelayed(Runnable r,int time)方法可以让一个线程延迟time毫秒运行。
Handler 的removeCallbacks()方法可以移除一个线程。
Handler 的 obtainMessage() 方法可以获得一个消息对象,
然后通过 Handler 的 sendMessage(Message message) 可以讲一个消息发送出去,
重写 handleMessage()方法可以对消息进行处理。
这样线程和消息就可以异步操作了。
理解方法:以前对线程的操作只要判断状态就可以了,那么使用了Handler 你就可以让程序达到某个条件时,让线程消失。
Android 系统默认 Handler 和 Main 共用一个线程,通过程序也可以分开:
我们可以把Handler 写在一个 new Thread() 或者HandlerThread线程当中,通过调用Thread.start();方法启动一个线程,
run()方法中写Handler。