一个封装好的handler
android中,handler是我们经常打交道的一个class,但在activity或者fragment中,直接new出来,然后在post或者handleMessage的代码一加,再完美的结构也会变得乱糟糟的。有必要封装一个handler,作为日常的结构化使用。下面给出一些代码的片段,来看怎么封装handler。
首先我们给它起一个响亮的名字:UiThreadExecutor,顾名思义就是在ui线程中执行的executor,简单明了。
既然是对handler的封装,handlerMessage自然是少不了的。我们的代码如下
private static final Handler HANDLER = new Handler(Looper.getMainLooper()) {
public void handleMessage(Message msg) {
Runnable callback = msg.getCallback();
if (callback != null) {
callback.run();
UiThreadExecutor.decrementToken((UiThreadExecutor.Token)msg.obj);
} else {
super.handleMessage(msg);
}
}
};
开放的接口主要是execut