使用wkwebview在 ios13.6的版本上跑一直有内存泄露

是的啊 我cc.assetmanager.assets 打开页面后 清理,都恢复到正常的数量了,但内存不降低

你说的半个月前都没有问题? 不太可能吧

@jare 希望能帮忙解决一下

方便给个测试 demo 测试?主要用到哪些资源?

1赞

好的,我一会弄一个demo,感谢大佬

assets.zip (3.4 MB) 3个按钮快速点击后,内存会飙升,然后只下降部分,但cc.assetmanager.assets的数量是正常的

有试过 其他 ios 版本吗?目前没有这个版本的设备,用 iPhone7 15.5 safari 上跑没看到内存不降的情况

我是在iphone7 13.6 上的wkwebview 还有 手机自带浏览器 safari,还有macOS BigSur 版本11.6自带的 safari ,iphoneX ios 15.1 找了4个地方测试的表现都是一样的,内存只释放部分 ,无法完全释放,这4个地方表现的结果都是一样的

我的这个Demo 我是直接在macOS BigSur 版本11.6自带的 safari测试过的 刚进界面 1个场景+1个背景图+3个按钮内存已经达到110M ,3个界面打开关闭 打开关闭 来回切换 后,内存大概会保持 在160m -180m 无法释放到110M,但cc.assetmanager.assets的数量是恢复了

希望大佬继续跟进一下

有在查,之前以为是指内存会不停上涨,理解错了

感谢大佬 :grinning:

大佬,目前是什么情况,是否有找到问题所在,因为这个问题比较严重,影响游戏上线。。 :joy:

目前排查的情况内存占用:

  • v8 对 js 代码优化后所占用的固有内存;
  • 引擎一些对象池的缓存数据;

从这个 demo 看,目前没有发现内存一直上涨的情况。

因为如果是这种节奏如果是界面打开多的情况下,每个界面都残留一些内存的话,机子的内存撑不住,这个只是demo,正式的界面 使用的资源更多。
那意思是可以恢复到打开界面之前的内存吗

那部分内存是一般是不会去释放的,正常不会一直有残留,对象池内会回收多余的数据,可能和你们项目遇见的问题不一样。

10多分钟也释放不掉,内存会一直在,demo项目中 内存也是10分钟了 内存一直保持在160-180,无法回到110M,我们的项目中就是打开界面 较多,内存每个界面 泄露一点,一直无法释放。。内存最后就超标了

那就是我的demo中所展示的 110M内存-180M内存 ,其中70M内存是合理需要才遗留下来的

这个内存问题是否是ios自身机制问题,如果确实如此只能放弃web端,改为原生,我也只想得到一个引擎组的官方回复

你们这个问题有解决吗