最近我发现,项目中的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);
/

本文介绍了如何在Android项目中通过创建一个全局的ThreadUtil类,优化线程切换和延迟执行的代码,减少Handler实例的冗余,提高代码的可维护性。内容包括如何判断当前是否为主线程,提供runOnMainThread和runOnChildThread方法进行线程切换,以及添加runOnMainThreadDelayed和runOnChildThreadDelayed方法实现延迟执行,并探讨了如何优雅地取消延迟的Runnable任务。
最低0.47元/天 解锁文章
2597

被折叠的 条评论
为什么被折叠?



