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

 更新时间:2022年06月03日 17:37:49   作者:谷哥的小弟  
LightTaskUtils是一个轻量级的线程管理工具,本文通过实例代码给大家详细介绍Android项目开发常用工具类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;
        }
    }
}

到此这篇关于Android项目开发常用工具类LightTaskUtils的文章就介绍到这了,更多相关android开发工具类LightTaskUtils内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 学习Android Handler消息传递机制

    学习Android Handler消息传递机制

    这篇文章主要为大家详细介绍了Android Handler消息传递机制,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • Android 点击editview以外位置实现隐藏输入法

    Android 点击editview以外位置实现隐藏输入法

    这篇文章主要介绍了Android 点击editview以外位置实现隐藏输入法的相关资料,需要的朋友可以参考下
    2017-06-06
  • 自定义toast外形,多次点击不会总是弹出toast的实现方法

    自定义toast外形,多次点击不会总是弹出toast的实现方法

    下面小编就为大家带来一篇自定义toast外形,多次点击不会总是弹出toast的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • Android开发Jetpack组件ViewModel使用讲解

    Android开发Jetpack组件ViewModel使用讲解

    这篇文章主要介绍了Android Jetpack架构组件 ViewModel详解,ViewModel类让数据可在发生屏幕旋转等配置更改后继续存在,ViewModel类旨在以注重生命周期的方式存储和管理界面相关的数据,感兴趣可以来学习一下
    2022-08-08
  • 详解Android单元测试最佳实践

    详解Android单元测试最佳实践

    这篇文章主要介绍了详解Android单元测试最佳实践,本文介绍了如何对Android原生应用进行单元测试,同时示例代码采用MVP模式以提高代码的可读性和可测试性
    2018-08-08
  • Android.mk文件使用速通手册

    Android.mk文件使用速通手册

    本文将简要介绍 Android.mk 的使用,看完本文,你将学会如何将自己的代码通过 Android.mk 来编译到工程中,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • android中sqlite的按条件查找的小例子

    android中sqlite的按条件查找的小例子

    android中内嵌轻量级数据库sqlite,涉及到的操作无外乎增删改查,今天就来说一说其中的查找操作,更多的时候我们用到的查找是要按条件查找的 例如表的结构如下:
    2013-06-06
  • 玩转AppBarLayout实现更酷炫的顶部栏

    玩转AppBarLayout实现更酷炫的顶部栏

    玩转AppBarLayout,实现更酷炫的顶部栏,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • Android自定义View圆形和拖动圆跟随手指拖动

    Android自定义View圆形和拖动圆跟随手指拖动

    这篇文章主要介绍了Android自定义View圆形和拖动圆跟随手指拖动,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • Android仿荷包APP启动动画

    Android仿荷包APP启动动画

    这篇文章主要为大家详细介绍了Android仿荷包APP启动动画的相关代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02

最新评论