最近我发现,项目中的Handler实例越来越多了,且非常的杂乱。甚至有的时候,只是为了一个定时任务、延迟任务,便new了一个新的Handler实例。毫无疑问,这样的写法必然会导致最后的代码冗余极高,且极难维护。
由此我想通过一个全局的Handler来实现优化,防止代码冗余。以下是我的做法。
首先定义一个ThreadUtil类
public class ThreadUtil {
//do something
}
其次,在类中写一个静态方法:isRunMainThread()
public class ThreadUtil {
/**
* 用于判断当前是否运行在主线程中
*/
public static boolean isRunMainThread() {
return Looper.getMainLooper() == Looper.myLooper();
}
}
然后在该类中再定义一个Handler
public class ThreadUtil {
/**
* 这个Handler将会是整个项目中唯一的Handler实例
*/
private static Handler handler = new Handler() {
@Override
public void dispatchMessage(Message msg) {
super.dispatchMessage(msg);