我通过CCBReaderLoad(“files/ui/combatUI/combatFinish.ccbi”…加载一个界面。界面上就一个静态展示图片。图片是一个打包的pvr.czz(包含其他的图片).此时打印内存资源的缓存情况是:
cocos2d: cocos2d: “/Users/saa/Library/Application Support/iPhone Simulator/6.0/Applications/2244CF53-4A3F-4E75-92F0-BE4A817FA033/ZZB Mobile.app/files/ui/common/anniuwenzi.pvr.ccz” rc=41 id=6 256 x 442 @ 32 bpp => 442 KBcocos2d: cocos2d: “/Users/saa/Library/Application Support/iPhone Simulator/6.0/Applications/2244CF53-4A3F-4E75-92F0-BE4A817FA033/ZZB Mobile.app/files/ui/common/ZZB9Sprite.pvr.ccz” rc=43 id=5 512 x 512 @ 32 bpp => 1024 KBcocos2d: cocos2d: “/cc_2x2_white_image” rc=2 id=3 2 x 2 @ 32 bpp => 0 KBcocos2d: cocos2d: “/cc_fps_images” rc=4 id=2 256 x 32 @ 16 bpp => 16 KB
cocos2d: cocos2d: TextureCache dumpDebugInfo: 4 textures, for 1482 KB (1.45 MB)
anniuwenzi.pvr.ccz 包含39张图片。为何一开始加载就出现41次引用呢。
在关闭界面的时候先把图片removeFromParent()
cc.SpriteFrameCache:getInstance():removeSpriteFramesFromFile(“pvr,czz") cc.TextureCache:getInstance():removeUnusedTextures()
此时打印内存资源的缓存情况是:
cocos2d: cocos2d: “/Users/saa/Library/Application Support/iPhone Simulator/6.0/Applications/2244CF53-4A3F-4E75-92F0-BE4A817FA033/ZZB Mobile.app/files/ui/common/anniuwenzi.pvr.ccz” rc=2 id=6 256 x 442 @ 32 bpp => 442 KBcocos2d: cocos2d: “/Users/saa/Library/Application Support/iPhone Simulator/6.0/Applications/2244CF53-4A3F-4E75-92F0-BE4A817FA033/ZZB Mobile.app/files/ui/common/ZZB9Sprite.pvr.ccz” rc=43 id=5 512 x 512 @ 32 bpp => 1024 KBcocos2d: cocos2d: “/cc_2x2_white_image” rc=2 id=3 2 x 2 @ 32 bpp => 0 KBcocos2d: cocos2d: “/cc_fps_images” rc=4 id=2 256 x 32 @ 16 bpp => 16 KBcocos2d: cocos2d: TextureCache dumpDebugInfo: 4 textures, for 1482 KB (1.45 MB)
为什么那个prv.czz的引用还是2.没法释放掉啊。
求解决。。
如果采用代码加载图片的话。
rc = 1。
然后removeUnusedTextures() 就释放掉了。