Web app 下載更新的進度條

老大要求下載更新的時候有個進度條,不能讓用戶一直在那等著,提高用戶體驗 ?

其實很簡單 ,但是寫的過程中碰到了問題

直接貼代碼

var downToak = plus.downloader.createDownload(downurl, { ? //拿到下載任務(wù)的對象

filename: '_doc/update/'

}, function(d, status) {

plus.nativeUI.closeWaiting();

if(status == 200) { //在回調(diào)中根據(jù)狀態(tài) 進行操作

self.installWgt(d.filename);

} else {

app.alert("配置出錯,請檢查網(wǎng)絡(luò)鏈接!");

}

});

downToak.start(); // 開啟下載的任務(wù)

var prg = 0;

var showLoading = plus.nativeUI.showWaiting("正在下載"); ?//創(chuàng)建一個showWaiting對象?

downToak.addEventListener("statechanged", function(task, status) { ?//給下載任務(wù)設(shè)置一個監(jiān)聽 并根據(jù)狀態(tài) ?做操作

switch(task.state) {

case 1:

showLoading.setTitle("正在下載");

break;

case 2:

showLoading.setTitle("已連接到服務(wù)器");

break;

case 3:

prg = parseInt(parseFloat(task.downloadedSize) / parseFloat(task.totalSize) * 100);

if(prg % 10 == 0) { ?// 讓百分比 10% 增長,如果這里不這么處理 ?出現(xiàn) 堆棧內(nèi)存溢出的問題,有知道原因的大神指導(dǎo)一下哈

showLoading.setTitle("   已下載" + prg + "%   ");

}

break;

case 4:

plus.nativeUI.closeWaiting();

break;

}

});

大體就是這樣,但是做的過程中? 在case 3的情況下,我之前是沒有通過? showWaiting的對象去setTitle的 而是直接plus.nativeUI.showWaiting

這樣也會導(dǎo)致堆棧內(nèi)存溢出的問題,我分析是應(yīng)為在case 3的情況 ?不停地 showWaitting 導(dǎo)致溢出 ,如圖,到底是不是這個原因希望有知道的 大神 指導(dǎo)一下

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容