cocostudio1.6制作动画的在使用中的内存优化

     在最近制作的一款手游中使用到了cocostudio1.6动画编辑器制作的多个动画,然后在将这多个动画加入内存后发现内存飙涨。

网络搜索优化方案苦求不得。最后在技术群中提问 幸得大神解答。试之,十分有效。将其记录下。

        下面是提问与大牛的回答 :看下对话其实就能大致明白了 !大意就是需要将导出后的资源再重新合图!如果还不是很明白可以继续往下看

               cocostudio1.6制作动画的在使用中的内存优化_第1张图片

              下面来说说具体过程:

              

              在这之前并没有对cocostudio导出的文件进行细看。都是直接将导出文件copy到工程中的。

              打开之前的动画导出文件一看。吓一跳。

              cocostudio1.6制作动画的在使用中的内存优化_第2张图片

             这些Delete就是之前的cocostudio导出的资源文件。如此之多。这个动画有11个png图片资源。也就是为每一个资源都单独的生成了一份plist,png。(但是其中一个动画资源较少,只生成了一份plist和png,不明所以)

             按照大牛提供的思路,把之前的资源图重新用texturepacker(这里安利一波ShoeBox:与其相同的合图工具还有其所不具备的部分功能,占用内存小且免费无需破解,我用的就是这个)合图就好。当然你直接合图然后删除这些旧的是不行的。我们还需要修改配置文件ExportJson


            ExportJson 顾名思义。 其实还是个json文件。cocos2d引擎对其进行解析其实就是读取配置文件然后按照配置进行相应的UI等的创建。有兴趣了解的可以查看引擎目录下的 cocos2d-x引擎\cocos\editor-support\cocostudio 进行代码与实现的了解。回到正题 修改ExportJson文件。

           用sublimeText等编辑器打开,往下翻看可以看到“config_file_path” “config_png_path”(如果实在没有找到 可以使用查找功能匹配查找),这两个字段就是存储的对应的资源plist和png文件信息。

cocostudio1.6制作动画的在使用中的内存优化_第3张图片

        既然图片资源删减了那么多,那么这两个配置信息便要进行改动。不然解析便会出错。再将资源打成合图后将合图拷贝到exportjson文件相同路径下。然后将这两个配置信息改成新的plist与png即可。改动后如下:

       

      cocostudio1.6制作动画的在使用中的内存优化_第4张图片

      (修改事注意其中的逗号,不同的之间需要用逗号分隔,这里只有一个资源了不需要逗号)

      修改后保存,放入工程下 运行。一个动画就比之前省了20M左右(debug模式下左下角有占用内存及顶点数等信息),效果惊人。这里就不上对比图了(可以自行验证)

      

      最后。再次感谢其指点。也写下来分享给大家。因本人水平有限。如有错谬,欢迎指正。

你可能感兴趣的:(cocos开发)