安卓市场下载 AsyncTask使用在哪些场景?它的缺陷是什么?如何解决?

AsyncTask使用在哪些场景?它的缺陷是什么?如何解决?使用asynctask的场景是执行一些耗时的操作,在耗时的操作完成后更新主线程,或者在操作期间更新主线程的UI。缺陷:asynctask维护

AsyncTask使用在哪些场景?它的缺陷是什么?如何解决?

使用asynctask的场景是执行一些耗时的操作,在耗时的操作完成后更新主线程,或者在操作期间更新主线程的UI。缺陷:asynctask维护一个长度为128的线程池,可以同时执行5个工作线程,并且有一个缓冲队列。当线程池中有128个线程且缓冲区队列已满时,如果此时将任务提交给线程,则会引发rejectedexecutionexception。解决方案:使用控制线程处理asynctask的调用,判断线程池是否已满。如果已满,线程将休眠。否则,它将请求asynctask继续处理。