【问题标题】:Google polyline high memory useage?谷歌折线高内存使用率?
【发布时间】: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 的行为如何?您使用的是哪个版本的CefSharpWinForms, WPF? x86, x64?您知道任何错误报告所需的基本内容.....
  • 我使用的是 WinForms x86 版本。这似乎是一个 CefSharp 问题,因为当我在 Chrome 中运行它时内存使用情况似乎正常。
  • 你使用的是什么版本的CefSharp

标签: javascript google-maps google-chrome cefsharp google-polyline


【解决方案1】:

不确定我的版本是什么,但它是从 1 月的某个时候开始的,所以可能是 45。更新到 CefSharp 的最新稳定版本 (49.0.0) 似乎已经解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-26
    • 1970-01-01
    • 2014-12-27
    相关资源
    最近更新 更多