-1

以下函數被調用每個第二。目的是更新多段線上的最後一個點以跟隨標記。問題是,每個代碼運行時,瀏覽器(CefSharp)的內存使用情況不斷大約1 MB,從大約50 MB要超過200 MB在短短几分鐘內增加。Google polyline高內存使用率?

function moveMarker(lat, lon, hdg, followme) { 
    marker.setPosition(new google.maps.LatLng(lat, lng)); 

    var len = traceLine.getPath().length; 
    traceLine.getPath().removeAt(len-1); 
    traceLine.getPath().push(marker.getPosition()); 
} 

通過刪除最後三行,內存使用量保持穩定在53 MB左右。

運行該代碼是從C#調用使用下面的代碼功能:

String js = String.Format("moveMarker('{0}','{1}','{2}','{3}');", 
      lat.ToString(System.Globalization.CultureInfo.InvariantCulture), 
      lon.ToString(System.Globalization.CultureInfo.InvariantCulture), hdg, 
      followMeCb.Checked ? "true" : "false"); 

myChromiumWebBrowser.ExecuteScriptAsync(js); 

我做得完全錯誤的嗎?

+0

如何'Chrome'表現?你使用的是什麼版本的CefSharp? 'WinForms','WPF'? 'x86','x64'?你知道需要的任何bug報告基本的東西..... – amaitland

+0

我使用的WinForms x86版。它似乎是一個CefSharp問題,因爲當我在Chrome中運行它時,內存使用看起來很正常。 –

+0

什麼'CefSharp'的版本您使用的? – amaitland

回答

0

不知道關於我有什麼版本,但它是從一月一段時間,所以可能是45.更新到CefSharp(49.0.0)的最新穩定版本似乎已經解決了這個問題。