我在我的安卓应用程序中运行了一些异步任务,但遇到了一些问题。由于我正在使用某些网络IO,有时会比预期的时间长并阻塞其他正在运行的异步任务。
我需要保持目标和最小SDK版本不变,但它们的目标SDK版本是"15",最小SDK版本是"8"。当调用异步任务时,我需要检查设备的SDK版本,如果大于11,则可以调用executeOnExecutor()而不是仅执行execute,以允许设备并行运行这些任务并防止阻塞操作。
尽管我的目标SDK为15,但我使用的设备具有17的SDK。
但是,在调用时:
MyAsyncTask(this).executeOnExecutor();
我遇到了一个错误 "The method executeOnExecutor() is undefined for the type",唯一可用的选项是:
MyAsyncTask(this).execute();
MyAsyncTask是一个类对象,它扩展了AsyncTask并重载了标准方法onPreExecute、doInBackground、onProgressUpdate和onPostExecute。
我尝试遵循这里列出的一些建议...http://steveliles.github.io/android_s_asynctask.html
executeOnExecutor
参数为SERIAL_EXECUTOR
的目的是为了“按顺序一个接一个地执行任务”的执行程序。但是在这种情况下,我尝试了但无法解决问题,你能帮忙吗? - Huy Tower