TaskManager 支持依赖关系的开源android 任务调度库 4年前

爱奇艺开源了一个支持任务依赖关系的任务调度工具库,TaskManager.

API 灵活方便。

Github 地址:https://github.com/iqiyi/TaskManager

  1. 简单的任务提交

    TM.postAsync(Runnable); // run on background thread TM.postAsyncDelay(Runnable); TM.postUI(Runnable); // run on UI thread TM.postUIDelay(Runnable, int delay); TM.postSerial(Runnable , String groupName);//tasks with same group name , runs in FIFO order. TM.cancelTaskByToken(Object);// cancel tasks with same token.

2. 复杂任务提交(设置依赖关系等)

new Task(){
            @Override
            public void doTask() {
                // your task
            }
        }.dependOn(R.id.task_1, R.id.task_2) // 或者任务在 task1 与 task2 完成后执行
         .orDependOn(R.id.task_3,R.id.task_4)// 或者任务在 task3 与 task4 完成后执行
         .orDelay(2000)// 或者 任务在2000ms 后执行。
         .postAsync();//提交任务到子线程执行

特点:

  • 将任务提交到UI线程或子线程执行。
  • 提交任务按照FIFO 顺序执行。(参考 executeSerial)
  • 将多个子任务组合成并发任务,并发执行。(ParallelTask)
  • 周期性的执行任务。(TickTask)
  • 闲时任务调度 (IdleTask , Task.enableIdleRun)
  • 事件与数据分发
image
bglaqaz
掉头一去是风吹黑发,回首再来已雪满白头。
3
发布数
1
关注者
5549
累计阅读

热门教程文档

Spring Cloud
8小节
Swift
54小节
QT
33小节
C#
57小节
Python
76小节
广告