第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

多線程下載一個文件時,進(jìn)度條顯示的進(jìn)度數(shù)是有問題的!

?(在頁面上添加進(jìn)度條的進(jìn)度值)當(dāng)文件的大小不能被平均分配到每個子線程中下載時,也就是說有種可能一個線程的下載大小肯定會是大于平均值,那么進(jìn)度條顯示的進(jìn)度數(shù)100%就顯示錯誤了!那怎么獲取所有子線程總的下載進(jìn)度數(shù)呢?????




//SC_PARTIAL_CONTENT 部分下載的時候返回的狀態(tài)碼206 ? 當(dāng)使用Range

if (connection.getResponseCode() == HttpStatus.SC_PARTIAL_CONTENT) {

//讀取數(shù)據(jù)

input = connection.getInputStream();

byte [] buffer = new byte[1024*4];

int len=-1;

long time = System.currentTimeMillis();

System.out.println("文件總大小--->"+fileInfo.getLength());

while((len = input.read(buffer)) != -1){

//寫入文件

raf.write(buffer, 0, len);

finished += len;

System.out.println("finished_real--->"+finished);

//if (System.currentTimeMillis()-time> 500) {

time = System.currentTimeMillis();

//--------------------這里的finished只是單個線程的進(jìn)度表示整個下載任務(wù)的進(jìn)度,可能單個線程已經(jīng)結(jié)束(界面上已經(jīng)顯示100%),但是整個下載任務(wù)還沒結(jié)束?????。。?!,那怎么獲取所有子線程總的下載進(jìn)度數(shù)呢?????

intent.putExtra("finished", finished*100/fileInfo.getLength());

context.sendBroadcast(intent);

//}

//在下載暫停時,保存下載進(jìn)度

if (isPause) {

System.out.println("暫停下載");

dao.updateThread(threadInfo.getUrl(), threadInfo.getId(), finished);

return;

}

//System.out.println("----------");

}

System.out.println("下載完成");

//下載完成,刪除線程信息

dao.deleteThread(threadInfo.getUrl(), threadInfo.getId());

}


正在回答

2 回答

在DownloadTask類中定義一個成員變量mFinished,所有線程共用它,在這個變量上累計進(jìn)度

0 回復(fù) 有任何疑惑可以回復(fù)我~

是定義了,可是下載到了103%怎么破?

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

凌伊

碰到同樣的問題,暫時再重新下載就會有這個問題,如果一直下載完就不會有,懷疑是暫停的時候進(jìn)度保存不對, 求解決方法
2016-01-22 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消
Android-Service系列之多線程斷點(diǎn)續(xù)傳下載
  • 參與學(xué)習(xí)       21811    人
  • 解答問題       60    個

本視頻教程主要代領(lǐng)我們要學(xué)習(xí)的多線程續(xù)傳下載程序的開發(fā)

進(jìn)入課程

多線程下載一個文件時,進(jìn)度條顯示的進(jìn)度數(shù)是有問題的!

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號