var textures = cc.textureCache.getAllTextures();
textures.sort(function (a, b) {
return b.getPixelHeight() * b.getPixelWidth() - a.getPixelHeight() * a.getPixelWidth();
});
for (var key in textures) {
var selfTexture = textures[key];
var url = selfTexture.url;
var num = (selfTexture.getPixelWidth() * selfTexture.getPixelHeight() * (url.indexOf('.jpg') > 0 ? 3 : 4) / 1024 / 1024).toFixed(2);
console.log(url + ".........." + num + "M");
}

更新在2.0的话。cc.textureCache.getAllTextures()弃用,
这里给出个新思路
let Loader: any = cc.loader;
this.dumpLabel.string = `当前资源总数:${Object.keys(Loader._cache).length}`;
本文介绍了一种Cocos2d-x中管理纹理资源的方法,通过使用cc.textureCache.getAllTextures()获取所有纹理资源,并按大小排序,打印出每个资源的详细信息,包括URL和占用内存大小(MB)。同时,针对2.0版本以上的更新,提出了新的资源管理思路,利用cc.loader获取资源缓存总数。
1292





