【发布时间】:2016-05-03 12:04:06
【问题描述】:
以下函数每秒被调用一次。目的是更新折线上的最后一个点以跟随标记。问题是,每次代码运行时,浏览器 (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);
我在这里做错了吗?
【问题讨论】:
-
Chrome的行为如何?您使用的是哪个版本的CefSharp?WinForms,WPF?x86,x64?您知道任何错误报告所需的基本内容..... -
我使用的是 WinForms x86 版本。这似乎是一个 CefSharp 问题,因为当我在 Chrome 中运行它时内存使用情况似乎正常。
-
你使用的是什么版本的
CefSharp?
标签: javascript google-maps google-chrome cefsharp google-polyline