我在开始 android 开发(以及一般的初学者开发)时学到的第一件事是 UI 不应该(并且在许多情况下不能)由除了主 UI 线程之外的任何其他线程更新。
我有一个 AsyncTask 正在其 doInBackground() 中移动一堆文件。我有一个向用户表示的进度条。
为了它(主要是由于懒惰),我决定在 doInBackground() 方法/线程中尝试 progressBar.setProgress([updated progress]) ,令我惊讶的是,它工作正常。
然而,这似乎违背了我所学到的惯例。我知道 AsyncTask 有一个 onProgressUpdate() 或其他什么,但这让我有点困惑,而且我不确定它是否值得切换,因为当前的实现似乎工作正常。
我不应该在这个后台线程中更新进度条吗?