【问题标题】:Sencha Touch Google map memory leak?Sencha Touch 谷歌地图内存泄露?
【发布时间】:2014-03-11 14:46:36
【问题描述】:

我们正在开发一个基于 Sencha Touch 的应用程序,该应用程序在其中一个视图中使用了 Google 地图;然而,我们被困在似乎是内存泄漏(~15M)的问题上,这显然是由于将包含地图的视图推到导航堆栈上造成的。我不明白为什么,但是当视图弹出时,似乎地图资源没有被释放,或者没有被及时释放(重复推送地图很容易崩溃应用程序看法)。我能够使用非常小的 phonegap + sencha + ios 设置重现此问题。我所做的只是:

  1. 创建一个包含谷歌地图的子视图:

    Ext.define('Memleak.view.Subview', {
        extend: 'Ext.Panel',
        xtype: 'subview',
        requires: [
            'Ext.TitleBar',
            'Ext.Map',
        ],
        config:
            {
                title: 'Map',
                iconCls: 'action',
                items: [
                    {
                        xtype: 'map',
                        id: 'theMap'
                    }
                ]
            }
    });
    
  2. 向主视图添加一个按钮,将子视图推送到导航视图堆栈上。我在 Ext.application#launch 中这样做以保持最小化:

    launch: function() {
        // Destroy the #appLoadingIndicator element
        Ext.fly('appLoadingIndicator').destroy();
    
        var view = Ext.create('Ext.NavigationView', {
            fullscreen: true,
            items: [{
                items: [{
                    xtype: 'button',
                    text: 'MAP',
                    handler: function () {
                        view.push({
                            xtype: 'subview'
                        });
    
                    }
                }]
            }]
        });
    },
    
  3. 将地图样式添加到 app.css:

    #theMap {
        height: 500px;
        width: 500px;
    }
    

要观察内存泄漏,请将 sencha 项目部署到 ios 并在模拟器中运行,然后单击调试选项卡以观察内存使用情况,然后只需按住 MAP 和返回按钮即可。我的 iPhone 4S 上的应用程序崩溃大约需要 15 秒。

我真的希望这是我们做错的愚蠢/愚蠢的事情,可以很容易地纠正。非常感谢任何帮助!

【问题讨论】:

    标签: ios google-maps sencha-touch


    【解决方案1】:

    内存泄漏在谷歌地图中,​​是由简单地创建和销毁谷歌地图引起的。 Google 已意识到此问题,但尚未修复。

    https://code.google.com/p/gmaps-api-issues/issues/detail?id=3803#makechanges

    【讨论】:

      猜你喜欢
      • 2012-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多