找回密码
 立即注册

QQ登录

只需一步,快速开始

小码农

初级会员

37

主题

133

帖子

388

积分

初级会员

积分
388
小码农
初级会员   /  发表于:2022-6-6 14:54  /   查看:1241  /  回复:7
10金币
本帖最后由 Derrick.Jiao 于 2022-6-6 18:20 编辑

版本14.2.0
当使用下面推荐的合并sheet代码时候,每执行一次内存使用量就会翻倍增加,当连续执行多次后内存就会占满,网页崩溃,有什么可以每次执行完销毁内存的办法么而且调用后内存会一直存在,不会随着时间而消失
推测 是不是闭包原因

附 dom  (临时dom最后一步导不出来没问题,主要问题是内存)

https://gcdn.grapecity.com.cn/showtopic-93624-1-1.html

window.performance.memory;
{
  jsHeapSizeLimit: 4294705152; // 上下文内可用堆的最大体积,以字节计算。
  totalJSHeapSize: 82412148; // 已分配的堆体积,以字节计算。
  usedJSHeapSize: 73731436; // 当前 JS 堆活跃段(segment)的体积,以字节计算。
}
image.png892745971.png

image.png167074278.png

image.png892504272.png







excel.zip

5.22 MB, 下载次数: 26

最佳答案

查看完整内容

更新进展: 经调研,Chrome 浏览器将标签页的最大内存使用量限制为 4G。 当执行 clipboardPaste 命令 124 次时,会创建大量对象用于撤消。 可以通过在执行每个命令后清除撤消堆栈来减少内存使用量。 您可以使用以上方案来解决此问题,示例demo见附件。

7 个回复

倒序浏览
最佳答案
最佳答案
Lynn.Dou讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-6-6 14:54:59
来自 6#
更新进展:
经调研,Chrome 浏览器将标签页的最大内存使用量限制为 4G。
当执行 clipboardPaste 命令 124 次时,会创建大量对象用于撤消。
可以通过在执行每个命令后清除撤消堆栈来减少内存使用量。
您可以使用以上方案来解决此问题,示例demo见附件。

excel1_updated.zip

5.22 MB, 下载次数: 22

回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-6-6 18:22:18
2#
问题已收到,这边回去尝试调研看下是否有解决方案。不过也正如前面帖子所说的,也有可能是会是一个前端性能的限制。有进展后这边会在本贴更新(SJS-13311)
回复 使用道具 举报
小码农
初级会员   /  发表于:2022-6-7 09:29:27
3#
Derrick.Jiao 发表于 2022-6-6 18:22
问题已收到,这边回去尝试调研看下是否有解决方案。不过也正如前面帖子所说的,也有可能是会是一个前端性能 ...

您好,昨天提供的dom因为时间所以有点小问题,该dom是最新的,麻烦解决后联系我一下

excel1.zip

5.22 MB, 下载次数: 20

回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-6-7 11:45:13
4#
小码农 发表于 2022-6-7 09:29
您好,昨天提供的dom因为时间所以有点小问题,该dom是最新的,麻烦解决后联系我一下

好的,这边会用这个最新的demo来调研。如帖子一楼所说的,也有可能是会是一个前端性能的限制,可以提前考虑后端。

另外,这个问题如何有新进展也会第一时间在本贴更新。
回复 使用道具 举报
小码农
初级会员   /  发表于:2022-6-20 09:44:05
5#
Derrick.Jiao 发表于 2022-6-7 11:45
好的,这边会用这个最新的demo来调研。如帖子一楼所说的,也有可能是会是一个前端性能的限制,可以提前考 ...

您好,现在有进展吗,因为系统原因无法选择后端导出,我们这边数据量又较大,很容易超过内容限制
回复 使用道具 举报
小码农
初级会员   /  发表于:2022-6-28 23:13:25
7#
Lynn.Dou 发表于 2022-6-6 14:54
更新进展:
经调研,Chrome 浏览器将标签页的最大内存使用量限制为 4G。
当执行 clipboardPaste 命令 124 ...

您好,最近才看到答复,现在这个还是有问题,当执行复制操作100次以后清除撤销堆栈并不会立刻执行,且所占用的内存又会快速增长, image.png446569213.png
当快增长到4G内存的时候会突然执行一下清除,然后内存降低后又快速增长,反复出现这种情况
直到某一次到达4g内存并未执行清除时,浏览器崩溃结束

image.png963684692.png
回复 使用道具 举报
Derrick.Jiao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
论坛元老   /  发表于:2022-6-29 10:31:56
8#
小码农 发表于 2022-6-28 23:13
您好,最近才看到答复,现在这个还是有问题,当执行复制操作100次以后清除撤销堆栈并不会立刻执行,且所 ...

目前这边能优化的只有上述提供的方案了,正如前面所说的前端做大量类似的操作就是会容易出现类似的问题以及容易达到性能瓶颈。如果仍有这个需求,建议使用我们的后端产品GcExcel来实现。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部