Memory management Cocos2dx内存消耗

Memory management Cocos2dx内存消耗,memory-management,memory-leaks,out-of-memory,cocos2d-x,Memory Management,Memory Leaks,Out Of Memory,Cocos2d X,我正在使用CoCo2DXV2.2.6,根据我的场景。。。 -我有一个场景,它一次又一次地在召唤自己。 -每次我加载具有不同纹理或板材的不同层时。 -我在进入时加载资产,在退出时将其移除。 -每次删除纹理和图纸,但内存使用不会重置。假设场景1使用的是5MB,场景2使用的是7MB(比上一个场景增加2MB,因为它在某处被保留) -当场景的实时纹理大小>15 MB时,引擎会清除缓存和纹理,然后崩溃。 -基本上,在每个场景之后,即使移除纹理、缓存、池等,内存也会不断增加而不会降低 有时,我需要在特定的层

我正在使用CoCo2DXV2.2.6,根据我的场景。。。 -我有一个场景,它一次又一次地在召唤自己。 -每次我加载具有不同纹理或板材的不同层时。 -我在进入时加载资产,在退出时将其移除。 -每次删除纹理和图纸,但内存使用不会重置。假设场景1使用的是5MB,场景2使用的是7MB(比上一个场景增加2MB,因为它在某处被保留) -当场景的实时纹理大小>15 MB时,引擎会清除缓存和纹理,然后崩溃。 -基本上,在每个场景之后,即使移除纹理、缓存、池等,内存也会不断增加而不会降低

  • 有时,我需要在特定的层上播放视频,因为我通过点击或其他方式启动它们,接收内存警告,引擎将所有内容(纸张和纹理)抛出内存,导致压力崩溃

  • 简言之,我需要保留最小20MB的纹理一次没有收到内存警告。有办法吗


我会使用Xcode探查器查找漏洞。使用CC_SAFE_RELEASE来释放cocos2d-x对象,CC_SAFE_DELETE用于其他对象,CC_SAFE_FREE用于简单数组(如整数或字符串数组)。在代码中找到所有“新”关键字,并确保您发布了所有这些关键字。我会使用Xcode探查器查找漏洞。使用CC_SAFE_RELEASE来释放cocos2d-x对象,CC_SAFE_DELETE用于其他对象,CC_SAFE_FREE用于简单数组(如整数或字符串数组)。在代码中查找所有“新”关键字,并确保释放所有关键字。