Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS:如何使用路由模拟浏览器刷新以修复内存泄漏_Javascript_Jquery_Angularjs_Memory Leaks - Fatal编程技术网

Javascript AngularJS:如何使用路由模拟浏览器刷新以修复内存泄漏

Javascript AngularJS:如何使用路由模拟浏览器刷新以修复内存泄漏,javascript,jquery,angularjs,memory-leaks,Javascript,Jquery,Angularjs,Memory Leaks,问题:AngularJS通常在SPA环境中运行,在SPA环境中,浏览器从不重新加载,内存也从不释放。考虑应用程序必须运行数小时,客户端指示浏览器不能刷新的情况。我们可以控制路线。在我看来,我们应该能够根据不同的路由状态来管理内存 为此,我创建了这个Plunker来做一些事情: 涉及多个角度元素(控制器、指令、服务) 涉及jQuery 创建内存泄漏(在Controller.js中) 尝试通过在路由过程中模拟浏览器页面刷新来修复内存泄漏 挑战 假设我们不知道内存泄漏的位置,那么挑战是从ngRefre

问题:AngularJS通常在SPA环境中运行,在SPA环境中,浏览器从不重新加载,内存也从不释放。考虑应用程序必须运行数小时,客户端指示浏览器不能刷新的情况。我们可以控制路线。在我看来,我们应该能够根据不同的路由状态来管理内存

为此,我创建了这个Plunker来做一些事情:

  • 涉及多个角度元素(控制器、指令、服务)
  • 涉及jQuery
  • 创建内存泄漏(在Controller.js中)
  • 尝试通过在路由过程中模拟浏览器页面刷新来修复内存泄漏
  • 挑战
    假设我们不知道内存泄漏的位置,那么挑战是从ngRefresh.js修复内存泄漏,该文件的特点是
    $rootScope.$on(“$routeChangeStart”
    $rootScope.$on(“$routeChangeSuccess”,


    如果您知道是什么造成了内存泄漏,那么您的“挑战”是什么?挑战是假设我们不知道内存泄漏的来源,并尝试通过“浏览器刷新”的正常技术来解决它但是,请记住这是一个SPA,因此不会发生真正的刷新,我们正在尝试模拟一个。我们知道Angular的路由过程中内存的状态,并且应该能够从那里清除内存,作为自上而下的解决方法。内存泄漏是由于控制器在其职责范围之外干扰DOM而产生的。只要您不刷新整个页面此问题无法解决。更不用说其他问题了。你是对的,我取出分离的DOM来关注内存泄漏。我不知道你指的是什么,但你的Plunk中的情况仍然相同。