关于纹理内存问题

当程序 初始加载比较多的纹理时候,

void Sprite::setSpriteFrame(const std::string &spriteFrameName)
{
SpriteFrameCache *cache = SpriteFrameCache::getInstance();
SpriteFrame *spriteFrame = cache->getSpriteFrameByName(spriteFrameName);

CCASSERT(spriteFrame, "Invalid spriteFrameName");


setSpriteFrame(spriteFrame);

}

然后create一个sprite的时候,会进入这里的断言。
或者
bool Sprite::initWithTexture(Texture2D *texture)
{
CCASSERT(texture != nullptr, “Invalid texture for sprite”);

Rect rect = Rect::ZERO;
rect.size = texture->getContentSize();


return initWithTexture(texture, rect);

}

进入这里的断言
通过查看代码前后文,发现进入这两个断言的可能,是一个纹理,被认为在内存中,但是确是空指针。(这里先声明一下:没有进行任何显示的调用回收纹理或者release纹理)

所以想请教一下技术人员,出现这个问题 是不是 内存已经溢出,或者导致出现这种纹理加载正常,调用确报空的情况什么?

手机里跑么?一口气加载太多资源可能引起自动回收内存。

我记得PC上图片是不会自动释放的。
如果你是用PC跑的的话,用数据断电(不知道请百度。)锁定你加载出来的图片对象,看下你图片什么时候释放的。