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