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

有试过 其他 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端,改为原生,我也只想得到一个引擎组的官方回复

你们这个问题有解决吗

demo中的内存泄露70M如果不是引擎的问题,是IOS的缓存机制,并且无法修改,我就直接出原生了

你好,请问有办法解决吗?我的项目资源很大,在wkwebview跑几分钟就会黑屏,应该是和你一样的问题。

若断定 demo中 的遗留的70m内存属于 * v8 对 js 代码优化后所占用的固有内存; * 引擎一些对象池的缓存数据;那无法修改的话,麻烦回复一下,这里好确定方向

方便用 3.5.2 测试下?3.5 有修过有关内存的,比如3d 粒子;
对象池里的数据要看是正常的,还是不正常的,如果对象池里数据不稳定,一直在增加,那就是有问题。
你可以看下 ContainerManager.ts 下里面的 pool 下的数据的变化情况。

好的,我试试

无任何效果,而且还发现一个在safari浏览器下 GFX Buffer Men(M)GFX 缓存 也不会释放 应该和spine有关