Android Asyntask串行执行器
在Android Asyntask串行执行器,android,android-asynctask,Android,Android Asynctask,在AsyncTask.SERIAL_EXECUTOR模式下执行AsyncTask时:onPostExecute()(在UI线程上)是否保证在doInBackground()之后和另一个AsyncTask实例可以调用新任务的onPreExecute()之前直接执行 我的意思是串行执行器模式-它是否保证onPostExecute()/onPreExecute()回调也始终正常 此序列化是特定进程的全局序列化 这就是上面的意思吗?在doInBackground()之后,线程发生变化,并且onPostE
AsyncTask.SERIAL_EXECUTOR
模式下执行AsyncTask
时:onPostExecute()
(在UI线程上)是否保证在doInBackground()
之后和另一个AsyncTask
实例可以调用新任务的onPreExecute()
之前直接执行
我的意思是串行执行器模式-它是否保证onPostExecute()
/onPreExecute()
回调也始终正常
此序列化是特定进程的全局序列化
这就是上面的意思吗?在
doInBackground()
之后,线程发生变化,并且onPostExecute()
在UI线程上运行。在第一个任务的doInBackground()
之后,另一个任务的doInBackground()
开始。所以没有保证的机会。在doInBackground()
之后,线程会发生变化,并且onPostExecute()
会在UI线程上运行。在第一个任务的doInBackground()
之后,另一个任务的doInBackground()
开始。所以没有保证的机会。你100%确定吗?在上一次运行的onPostExecute()完成之前,他们可能在某个地方有一个锁阻止新的onPreExecute执行,不是吗?但我想,不管怎样,如果我在onPreExecute()中不做任何(重要的)事情,我都会没事的,因为doInBackground()正在阻塞。你100%确定吗?在上一次运行的onPostExecute()完成之前,他们可能在某个地方有一个锁,阻止新的onPreExecute执行,不是吗?但我想,不管怎样,如果我在onPreExecute()中不做任何(重要的)事情,我都会没事的,因为doInBackground()正在阻塞。