我耗时的功能上传/ *大约10秒* /。我在开始上传之前尝试显示ProgressDialog,当上传完成时解除ProgressDialog并尝试
pd = ProgressDialog.show(Uploader.this,
"Connecting...", "Uploading",
true, false);
Uploader.this
.runOnUiThread(new Runnable() {
public void run() {
upload();
handler.sendEmptyMessage(0);
}
});
问题是Progress没有显示大约10s,只有闪烁,就像它首先上传然后调用show和dismiss(我试图把show放在线程上面,但它是一样的)。 该怎么办 ? (上传是无效功能)
答案 0 :(得分:3)
您上传的代码不应该在UI线程上运行。如果是,那么它将阻止该线程执行任何其他操作,例如显示进度对话框。保存进度对话框,显示它,生成一个新线程以进行上传,以及上传完成后,使用处理程序返回UI线程并关闭进度对话框
答案 1 :(得分:1)
为什么要在当前尝试执行进度对话框的UI线程上执行上传操作而不是另一个线程?