当前位置:
首页
文章
前端
详情

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

爱奇艺开源了一个支持任务依赖关系的任务调度工具库,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)
  • 事件与数据分发

免责申明:本站发布的内容(图片、视频和文字)以转载和分享为主,文章观点不代表本站立场,如涉及侵权请联系站长邮箱:xbc-online@qq.com进行反馈,一经查实,将立刻删除涉嫌侵权内容。