在释放资源后,armature动画缺图的问题

情况是这样的:
在关卡场景有几个armature,第一次进入时动画是好的,但在进入战斗场景时,我的做法是先进入一个过渡场景,用于释放资源,再加载战斗所需的资源,但退出战斗回到关卡选择时是做了释放unused的资源,这是关卡场景的很多armature的动画就就少了1张图(图集中的某一张)。

流程:
1、打开新的进程
2、进入关卡选择场景
3、加载关卡选择场景所需的armature(addArmatureFileInfo)后创建
4、点击进入战斗
5、ArmatureDataManager::getInstance()->purge();
AnimationCache::getInstance()->purgeSharedAnimationCache();
SpriteFrameCache::getInstance()->removeUnusedSpriteFrames();
TextureCache::getInstance()->removeUnusedTextures();

6、加载其他资源
7、进入到战斗场景
8、点击退出战斗
9、ArmatureDataManager::getInstance()->purge();
AnimationCache::getInstance()->purgeSharedAnimationCache();
SpriteFrameCache::getInstance()->removeUnusedSpriteFrames();
TextureCache::getInstance()->removeUnusedTextures();
10、进入到关卡选择场景
11、加载关卡选择场景所需的armature(addArmatureFileInfo)后创建

此时大部分的动画就会少1张图(texture,图集中的一张子图没显示)。
该问题在windows上不存在,在android上存在。

如有知道解决的、或者遇到过的、或有建议的都可回复,万分感谢!

自己顶顶,求大神

你可以调用这个接口std::string TextureCache::getCachedTextureInfo() const

查看下丢掉的纹理有没有在缓存中。

在android没这个图集,在windows里有

这个日志有些奇怪,很多图都没了,android比windows少了好多,是这么?android的内存有单独的优化?

removeununse的方法是判断引用计数。

所以如果是win和android的平台差异,那你确认下是哪一种是对的。错的那种,引用计数是不是对的。