-
Creator 版本: 3.6.2
-
目标平台: ios iphone8 15.6.1
项目设置了 macro.CLEANUP_IMAGE_CACHE = true 和 dynamicAtlasManager.enabled = false 但是内存占用相比于安卓高出了很多,看样子是图片占用了双份 ,有咩有彭于晏帮忙分析一下是什么原因导致的
Creator 版本: 3.6.2
目标平台: ios iphone8 15.6.1
项目设置了 macro.CLEANUP_IMAGE_CACHE = true 和 dynamicAtlasManager.enabled = false 但是内存占用相比于安卓高出了很多,看样子是图片占用了双份 ,有咩有彭于晏帮忙分析一下是什么原因导致的
我们项目也遇到这个问题了,ios和安卓内存占用差异很大
如果是双份内存就是 ImageAsset 和 Texture2D 资源,你至少得先做下定位,看下问题资源是什么时候做释放?释放后资源是否残留在资源管理器里面,根据资源的 uuid 看下 assetManager.assets 里面的资源是否还在,如果还在一般是项目资源管理问题。如果觉得自己资源管理是 OK 的,麻烦提供个测试工程,不然没有可以排查资料,没法帮助你。
我也对这个问题有疑问,我看了源码,3.x,ImageAsset是cpu内存,Texture2D是gpu内存,是这么理解吗?
我们的项目xcode profile里内存是正常的,但是xcode memory use里显示的要大两倍以上,这个是什么原因导致的?
我们也遇到了同样的问题,不知道xcode里面多出的那部分是什么,能不能开发者控制
我们项目中的动态合图是关闭的,我们也做到了每一个资源只创建一次,不使用时依次调用destroy释放spriteframe,texture2d,imageAsset,但是内存依然不见降低,我们也尝试了主动垃圾回收,但效果微乎其微
2.4.11 macpro 13.01. 构建不了项目。 这是个什么情况。 发送邮件了,但是一直没有得到回复。这个怎么解决,
你提供的 demo 里没有清除干净,loadremote 需要手动 destroy
我们的资源管理保证一张图片只会创建一份spriteframe,texture2d,imageAsset,根据我们打出的安卓包来看,内存并没有问题,因为我们项目是从egret转过来的,对这块的资源管理不是特别熟悉,又或者是android和ios有什么区别,怕是我们自己的问题,所以这段时间我们又尝试了资源不用的时候调用 spriteframe.destroy() texture2d.destroy() imageAsset.destroy() 但是在ios上反馈的结果来看内存并没有降下来,下面图是我们创建(getSpriteFrame)和释放(releaseSpriteFrame)的核心内容,请过目!
IOS的内存问题 ,官方能不能给个解决方案呀,根本就释放不了,要么就是释放不干净