我的应用程序上有一个按钮,当我单击时(将我带到图片库以获取结果)。当我选择图片时,我得到的结果很好,然后开始使用独立方法传输图像。
问题是 UI 卡在画廊屏幕上,然后屏幕变暗,直到传输完成...我尝试使用 run on ui 更新 UI,但它不起作用...
while ((bytesRead = bis.read(buf, 0, buf.length)) != -1)
{
BT_data_out.write(buf, 0, bytesRead);
if(fill++ > 2) {BT_data_out.flush(); fill = 0;};
prgrss += bytesRead;
final String done = Integer.toString(prgrss);
final String total = Integer.toString(fileL);
if(update_rate > (50000/bufSize) ) {
update_rate = 0;
runOnUiThread(new Runnable()
{
@Override
public void run()
{
mTextMISC.setText(done+"/"+total+" B");
}
});
}
update_rate++;
}
传输完成后,我可以看到 UI 线程的最终效果,但从未看到所有中间更新。