2017-06-03 128 views
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

回答

0

此問題已通過將system.android.WebView從版本46.0.2490.76更新爲58.0.3029.83解決。

相關問題