我有一个android平板电脑上的应用程序,在用户做某些事情后发送一个日志文件给我。我已经安装了它,能够发送我在AsyncTask中创建的日志文件。随着日志文件变得越来越大,发送所需时间也越来越长,并且我开始遇到在第一个日志文件完成之前开始发送另一个日志文件的问题。等待调用AsyncTask,直到前一个完成
的代码只是
private class SendLogFile extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
//Send Log File From Tablet to Server
}
}
被称为用一个简单的
new SendLogFile().execute();
有没有办法对我来说,不运行新SendLogFile的AsyncTask如果有一个当前正在执行的?我不想用定时器将其设置为循环任务,我仍然希望它从用户操作开始。
谢谢。
或使用某种旗帜。我想如果你想防止两个或更多的任务,这应该在UI逻辑中完成。 – 2016-08-15 22:16:23
@EliDevender绝对错误的地方。 UI逻辑知道一个任务应该一次只执行一次? –