网站系统打开首页,占用内存过高

公司开发的网站版 后台管理系统,采用webpack+angularJS的技术,现在遇到一个情况,就是仅打开登陆页,就占用了快300M内存,想请问下,各位大神,有遇到过这种情况吗?怎么解决的?

慕村9548890
浏览 666回答 3
3回答

慕无忌1623718

300M!打开 chrome 调试器,看看 瓶颈在哪里, 也许读取了一个不该载入的静态资源。我感觉如楼上所言 路由懒加载 也许最有帮助

千万里不及你

300M的内存应该和资源加载的大小关系不大,使用wepback打包不minify一般最大也就几M左右,加上一些图片和第三方库,算上10M足够了。而且关于占用内存的现象你没有描述,是白屏?还是卡顿?还是仅仅是通过内存监控发现占用很高?我觉得既然是使用ng1的话,内存占用过高尝试减少代码中的不必要的watcher以提高性能,大体从这么几方面入手减少双向绑定(ng1.2以下请无视)=的使用,多使用单向绑定<减少$compile指令的使用减少$apply指令的使用(如果有多次重复的$apply尝试合并为一次)尽量不要在ngCheck里面做一些密集型运算其他方面再看看css上面有没有因为过多的特效引起的重绘、重排,大体就这些了。如有错误,还望指正。优化点不一定要先从第三方jq控件开始,可以先从视图层的逻辑指令和模板表达式的使用方式开始,ng中每一个内置指令都会自动绑定一个$watcher的,使用方式决定性能,我举个例子,比如:是否在ng-repeat中使用了ng-if,而且是否有必要component和directive中是否需要onDestroy逻辑尝试使用::操作符来优化一些不需要双向绑定的渲染逻辑,比如导航栏或者表格表头,这些数据一般都会只渲染一次,所以其实完全没必要使用双向绑定之后再从第三方jq空间开始,比如:第三方控件是否过多使用了$compile和注册了冗余的$watcher在指令销毁生命周期是否对第三方控件进行了清理工作
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript