我的应用程序包含一个长循环,它在我的UIThread中计算许多值,然后在屏幕上绘制它们。
如果我使用AsyncTask
将计算循环卸载到一个单独的线程上,我将无法按照文档的说法多次运行MyAsyncTask.execute():“任务只能执行一次” 。当我尝试运行代码时,我能够看到绘制了一个帧,但随后抛出了异常:“无法执行任务:任务已经执行(任务只能执行一次)”。
在绘制循环的每次迭代期间创建新的AsyncTask
对象不是个好主意,所以有没有办法重用相同的AsyncTask对象来运行MyAsyncTask。再次执行()?或者如果没有,那么什么是更合适的使用方法?其他形式的线程可以实现吗?