Skip to content
This repository was archived by the owner on Oct 19, 2025. It is now read-only.
This repository was archived by the owner on Oct 19, 2025. It is now read-only.

关于 OnTaskFinishListener 执行时刻疑惑 #4

@kymjs

Description

@kymjs

我看到 Task 中,对于OnTaskFinishListener的执行是如下条件进行的。

void notifyFinished() {
    if (!mSuccessorList.isEmpty()) {
        AlphaUtils.sort(mSuccessorList);

        for (Task task : mSuccessorList) {
            task.onPredecessorFinished(this);
        }
    }

    if (!mTaskFinishListeners.isEmpty()) {
        for (OnTaskFinishListener listener : mTaskFinishListeners) {
            listener.onTaskFinish(mName);
        }
        mTaskFinishListeners.clear();
    }
}

这是否会造成后一个Task 已经被执行了,才调用前一个 Task的回调?我的理解,通常业务在使用这个回调时,应该是需要为后一个 Task 赋值某些执行条件,如果是这样,不知道这么做的出发点是什么?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions