我使用AsyncTask將圖片上傳到網絡服務器,當我推動更新進度條的方法時,它會減慢上傳速度。但是,如果沒有進度條的循環更新程序,它會上傳圖像在幾秒鐘內(非常快)。下面是我用它來更新進度代碼:
在AsyncTask中更新進度條會減慢上傳速度
bufferSize = Math.min(bytesAvailable, maxBufferSize);
mFileLen = file.length();
for (int i = 0; i < bufferSize; i++) {
publishProgress((int) ((i/(float) mFileLen) * 100));
}
反正我有可以更新的進度不會導致操作變慢?
這裏有很多遺漏的上下文,該代碼在什麼時候調用?爲什麼要迭代每次都有一個完整的緩衝區?爲什麼在循環中一次又一次地將progressBar設置爲相同的值?爲什麼要在一個名爲'progress'的變量中存儲並丟棄'i'? –