Javascript 角度2+;路由器卸载先前延迟加载的模块
我一直在研究许多ngModules,每个模块都封装了自己的一组组件、服务、指令等,它们都很大。现在,我已经准备好将我的应用程序串起来,并将每个模块缓慢地路由到主路由器插座上,我担心的是总体内存消耗,特别是低端设备(只支持平板电脑,不支持移动设备)。所以我的问题是,当路由器延迟加载一个新模块时,前一个延迟加载的模块是否已卸载?我只能找到有关JIT、AOT、预加载和延迟加载的信息,但在后加载上下文中,缺少关于Angular 2+和内存管理的资源或讨论Javascript 角度2+;路由器卸载先前延迟加载的模块,javascript,angularjs,angular,memory-management,lazy-loading,Javascript,Angularjs,Angular,Memory Management,Lazy Loading,我一直在研究许多ngModules,每个模块都封装了自己的一组组件、服务、指令等,它们都很大。现在,我已经准备好将我的应用程序串起来,并将每个模块缓慢地路由到主路由器插座上,我担心的是总体内存消耗,特别是低端设备(只支持平板电脑,不支持移动设备)。所以我的问题是,当路由器延迟加载一个新模块时,前一个延迟加载的模块是否已卸载?我只能找到有关JIT、AOT、预加载和延迟加载的信息,但在后加载上下文中,缺少关于Angular 2+和内存管理的资源或讨论 提前感谢您考虑我的问题。我可以确认,虽然它们最初
提前感谢您考虑我的问题。我可以确认,虽然它们最初不是使用延迟加载方法加载的,但在路由到另一个模块后不会卸载。更糟糕的是,ngx不支持卸载模块。这是一条向布拉德·格林提问的推特 我想添加一个关于卸载组件的快速评论。您可以卸载组件以及与之关联的数据。我知道有两种方法 这是核心的一部分,它的实现与OnInit一样。您应该能够利用这两个功能来帮助解决总体内存负载问题,特别是如果您使用了大量可以取消订阅OnDestroy的服务。看起来“尚未实现” 但是,开发人员Sander Elias提出了一个解决方案: 刷新内存的唯一方法是重新加载页面。最简单的方法是使用href而不是routerlink在应用程序的某些部分之间导航