Android asynctask 异步任务冻结进度栏中的复杂代码

Android asynctask 异步任务冻结进度栏中的复杂代码,android-asynctask,Android Asynctask,我在AsyncTask中有一个复杂的代码,这使得在SQLite上进行了大量的I/O和繁重的计算。这段代码非常长,这就是为什么我没有在这里复制它。当我的代码被注释时,AsyncTask工作得很好,并且正确地更新了进度条,但是对于我的代码,进度条被冻结,直到代码结束。 有谁能给我一些建议让我尊重,让我写一个像我一样的程序,当然,有一个工作线程和一个运行良好的进度条? 我完成了我的项目。在开发阶段,我没有问题。但在实际数据的阶段测试中,我遇到了这个问题。我已经读了三天了,在这个论坛上讨论了一个异步任务

我在AsyncTask中有一个复杂的代码,这使得在SQLite上进行了大量的I/O和繁重的计算。这段代码非常长,这就是为什么我没有在这里复制它。当我的代码被注释时,AsyncTask工作得很好,并且正确地更新了进度条,但是对于我的代码,进度条被冻结,直到代码结束。 有谁能给我一些建议让我尊重,让我写一个像我一样的程序,当然,有一个工作线程和一个运行良好的进度条? 我完成了我的项目。在开发阶段,我没有问题。但在实际数据的阶段测试中,我遇到了这个问题。我已经读了三天了,在这个论坛上讨论了一个异步任务,但是我的帮助和我都不知道该做什么。我也冻僵了。 谢谢你的帮助。

问题解决了。 显然,我的代码占用了大量CPU时间,没有为UIThread留出足够的时间来更新屏幕。 因此,我使用一个处理程序和一个延迟10毫秒的倒计时锁来启动线程,设置在另一个线程中加入SQLite的代码部分。这个延迟使得android必须释放时间来刷新UIThread。这样,publishProgress开始工作。现在我想知道这是否是一个好的解决方案