信息发布→ 登录 注册 退出

Android项目开发常用工具类LightTaskUtils源码介绍

发布时间:2026-01-11

点击量:
目录
  • LightTaskUtils概述
  • LightTaskUtils截图
  • LightTaskUtils源码
  • 版权声明 本文原创作者:谷哥的小弟
  • 作者博客地址:http://blog.csdn.net/lfdfhl

LightTaskUtils概述

LightTaskUtils是一个轻量级的线程管理工具。

LightTaskUtils截图

LightTaskUtils截图如下:

LightTaskUtils源码

LightTaskUtils源码如下:

import android.os.HandlerThread;
import android.os.Handler;

/**
 * 轻量级的线程管理工具类
 *
 * 本文作者:谷哥的小弟
 * 博客地址:http://blog.csdn.net/lfdfhl
 */

public class LightTaskUtils {

    private Handler mHandler;
    private HandlerThread mHandlerThread;

    public LightTaskUtils() {
        mHandlerThread = new HandlerThread("LightTaskThread");
        mHandlerThread.start();
        mHandler = new Handler(mHandlerThread.getLooper());
    }

    /**
     * 普通操作,线程优先级比UI线程底,用于无UI交互操作
     */
    public void post(Runnable runnable) {
        if (mHandler != null) {
            mHandler.post(runnable);
        }
    }

    /**
     * 线程优先级和UI线程一样,用于UI交互操作
     */
    public void postAtFrontOfQueue(Runnable runnable) {
        if (mHandler != null) {
            mHandler.postAtFrontOfQueue(runnable);
        }
    }

    public void postDelayed(Runnable runnable, long delay) {
        if (mHandler != null) {
            mHandler.postDelayed(runnable, delay);
        }
    }

    public void postAtTime(Runnable runnable, long time) {
        if (mHandler != null) {
            mHandler.postAtTime(runnable, time);
        }
    }

    /**
     * 清空Handler消息栈和子线程的Loop,避免内存泄漏
     */
    public void removePost() {
        if (mHandlerThread != null) {
            mHandlerThread.quit();
            mHandlerThread = null;
        }
        if (mHandler != null) {
            mHandler.removeCallbacksAndMessages(null);
            mHandler = null;
        }
    }
}

在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!