如何在视图中使用Javascript google.maps.places.Autocomplete避免内存泄漏

如何在视图中使用Javascript google.maps.places.Autocomplete避免内存泄漏,javascript,angularjs,memory-leaks,maps,ng-view,Javascript,Angularjs,Memory Leaks,Maps,Ng View,我在google.maps.places.Autocomplete和单页应用程序方面遇到了问题。长话短说,我有一个带有表单和输入字段的角度指令。输入字段具有自动完成功能,因此当单击并键入地址时,它会显示匹配的地址。它的单页应用程序,因此当用户导航到页面时,它会加载相应的ng视图。当用户导航到另一个页面并且在ng视图中加载了另一个内容时,内存不会被清除。使用GoogleChrome中的配置文件和快照,我清楚地看到有垃圾剩余,表单元素被分离(用红色标记)。这是由于input字段附加了autocomp

我在google.maps.places.Autocomplete和单页应用程序方面遇到了问题。长话短说,我有一个带有
表单
输入
字段的角度指令。
输入
字段具有自动完成功能,因此当单击并键入地址时,它会显示匹配的地址。它的单页应用程序,因此当用户导航到页面时,它会加载相应的
ng视图
。当用户导航到另一个页面并且在
ng视图中加载了另一个内容时,
内存不会被清除。使用GoogleChrome中的配置文件和快照,我清楚地看到有垃圾剩余,表单元素被分离(用红色标记)。这是由于
input
字段附加了
autocomplete
。 我把范围缩小到声明new
google.maps.places.Autocomplete
的行。如果我删除了对autocomplete的调用,内存将按应有的方式清除,否则,存在input
aaa
的整个表单将保留在内存中。 我还清除了$destroy上的所有变量,这样就可以对其进行垃圾收集,但似乎什么都不起作用。是否有任何解决方案以及在动态加载的ng视图中使用Autocomplete而不泄漏内存的方法

link: function (scope, elem, attrs, ctrl) {
                var autocomplete;
var aaa=document.getElementById('address');

                function initializeGoogleMaps() {
                    autocomplete = new google.maps.places.Autocomplete(
                        (aaa), {
                            types: ['geocode']
                        });
                    scope.$on('$destroy', function () {
                        $(".pac-container").remove();
                        autocomplete=null;
                    });



    }

        initializeGoogleMaps();
// some other code