In the documentation on AsyncTask it gives the following as a rule related to threading:
- The task can be executed only once (an exception will be thrown if a second execution is attempted.)
All this means is that you have to create a new instance of the class every time you want to use it, right? In other words, it must be done like this:
new DownloadFilesTask().execute(url1, url2, url3);
new DownloadFilesTask().execute(url4, url5, url6);
Or conversely, you can NOT do the following:
DownloadFilesTask dfTask = new DownloadFilesTask();
dfTask.execute(url1, url2, url3);
dfTask.execute(url4, url5, url6);
Can someone verify this is an accurate interpretation?
I realize I pretty much just answered this for myself as I was typing this out... But it wasn't immediately obvious to me so I think this would be useful to have posted nonetheless.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…