我有一個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邏輯知道一個任務應該一次只執行一次? –