Handler学习—四种创建方式
无参构造
如果new一个无参构造函数的Handler对象,那么这个Handler将自动与当前运行线程相关联,也就是说这个Handler将与当前运行的线程使用同一个消息队列,并且可以处理该队列中的消息。
/**
*默认构造函数将此处理程序与当前线程的{@link Looper}关联。
*如果此线程没有looper,则此处理程序将无法接收消息,因此引发异常。
*/
public Handler() {
this(null, false);
}
ExecutorService executorService = Executors.newSingleThreadExecutor();
executorService.submit(new Runnable() {
@SuppressLint("HandlerLeak")
@Override
public void run() {
//初始化Looper,一定要写在Handler初始化之前
Looper.prepare();
handlerNoParameters = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);