现状描述
1.使用了datatable.js,用来表示1.4万条数据。
2.ajax取的数据也大致一样
3.俩个画面表示的时间也基本一样。
为什么画面A要比画面B花的内存多很多
画面A
画面B
想请教占用内存大小的问题,不是时间的问题,画面表示时间没有问题。
现状描述
1.使用了datatable.js,用来表示1.4万条数据。
2.ajax取的数据也大致一样
3.俩个画面表示的时间也基本一样。
为什么画面A要比画面B花的内存多很多
画面A
画面B
想请教占用内存大小的问题,不是时间的问题,画面表示时间没有问题。
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.9k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
特别感谢TensionMax的回复。
现在已经找了导致消耗大量内存的处理地方。
datatable.js有个columnDefs的属性,用来设置表的表示项目。
修改前代码是这样的:
修改以后是这样的
一般的话,从第4-6这三项因为设置了不可见,所以就忽略了。
实际上在表示大量数据的时候(我的项目是2万左右),这些项目都会占用很大的内存开销。
所以如果画面表示不需要的话,最好不要写。
还有就是扩展方法里不写的项目也能正常取到(rowData),不用担心。