0
我們有一個小型Android應用程序,主要由WebView組成。在這個WebView中,我們加載了一個定期輪詢API的Angular 2應用程序(Angular 2.4)。爲了regularily觸發輪詢,我們使用一個遞歸調用:有時在WebView中不會觸發Javascript setTimeout
private xxx() {
console.log("Beginning of xxx");
...
http.get(url).then(=> {
console.log("Before setTimeout");
setTimeout(() => xxx(), 300);
});
}
輪詢通常效果很好,但是,一段時間(約1-2分鐘)後,輪詢停止。從我們的日誌記錄中,我們可以看到設置了超時(上面的第二條日誌行),但不調用回調。
的事情,我們已經嘗試/學到到目前爲止:
- 查看應用程序在Chrome在同一設備上不會重現該問題 通過Chrome的開發工具
- 遠程調試防止問題
- 觸摸事件使應用程序重新開始投票
Android版本6.0
API級別:23