BFSLauncher 进行启动任务管理的框架,你可以随意定制自己的任务启动顺序,无需再为启动任务管理发愁, 内部会采用基于BFS的拓扑算法,给出一个合理的启动顺序,同时也增加了环检测能力,如果启动任务循环依赖,会抛出exception并给出形成 环的任务信息
val graph = TaskGraph(this)
val task1 = Task1()
val task2 = Task2()
val task3 = Task3()
val task4 = Task4()
val task4 = Task4()
task2 -> task3
graph.addDependence(task2,task3)
task3 -> task4
graph.addDependence(task3,task4)
task1 -> task2
graph.addDependence(task1,task2)
addDependence接受两个参数,第一个是被依赖任务,第二个是普通任务
比如addDependence(A,B)则B任务依赖了A任务的完成 A->B
graph.startAll()
- app下是使用例子
- lib_bfslancher 是bfslancher的核心实现
建议直接用最新的稳定版本Android Studio打开工程。目前项目已适配Android Studio Arctic Fox | 2022.3.1