知道AsyncTask是否正在运行

Meh*_*iya 1 java performance android task android-asynctask

我有一个活动,每次呼叫结束时都会调用它.此活动低于AsyncTask.

UploadRecordings uploadRecordings = new UploadRecordings();
uploadRecordings.execute(context);
Run Code Online (Sandbox Code Playgroud)

现在,当我每次都有新的AysncTask创建时,我会一个接一个地调用.但Android将AsyncTask的数量限制为5.所以问题是我想检查AsyncTask是否已经在运行,如果发现正在运行,则不要创建新的AsyncTask.如果没有运行AsyncTask,我想创建一个新的AsyncTask.

任何帮助都要得到赞赏.

Har*_*iya 6

使用getStatus()让您的状态AsyncTask.如果状态为AsyncTask.Status.RUNNING则您的任务正在运行.

检查这种方式

if(uploadRecordings.getStatus() == AsyncTask.Status.RUNNING){
    // My AsyncTask is currently doing work in doInBackground()
}
Run Code Online (Sandbox Code Playgroud)

详情请阅读:Android,AsyncTask,检查状态?


Int*_*iya 6

你可以使用getStatus()

返回此任务的当前状态。

if(YourAsyncTaskOBJ.getStatus() == AsyncTask.Status.RUNNING)
    {
      // AsyncTask Running  
    }
Run Code Online (Sandbox Code Playgroud)

阅读如何检查异步任务是否已在运行