每秒调用以下函数。目的是更新折线上的最后一个点以跟随标记。问题是,每次代码运行时,浏览器(CefSharp)的内存使用量会持续增加大约1 MB,在几分钟内从大约50 MB增加到200 MB以上。
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 :(得分:0)
我不知道我的版本是什么,但它是从1月开始的,所以可能是45.更新到最新稳定版本的CefSharp(49.0.0)似乎已经解决了这个问题。