native平台json文件的合并

根据以往的帖子,native为了避免每次热更新所有文件,所以json文件都没有合并。但是这样会导致两个问题:

  1. 热更新的manifest文件会很大
  2. 界面加载比较慢

所以希望native上也可以进行合并。
首选的方案是提供接口,让开发者自己觉得如何合并。
其次的方案是,提供一些默认的合并策略。

我统计了一下我们项目的json文件类型(res/import下):

{u’cc.SpriteFrame’: 6387, u’cc.Prefab’: 1434, u’cc.AnimationClip’: 641, u’cc.SpriteAtlas’: 197, u’cc.SceneAsset’: 12, u’cc.TTFFont’: 1}

SpriteFrame: 6387个。可以考虑把同一个texture的spriteframe合并到一个json里,就可以少很多很多了。
Prefab: 1434个。可以考虑根据prefab名字来合并。比如我们的prefab的名字类似: alliance_member_list, inventory_item,… 可以按照第一个下划线之前的名字分组,然后再合并
AnimationClip: 同Prefab

其他的就可以忽略了。这样文件数基本上在1000+,应该是可以接受了的。
不知道引擎能否提供相关的接口或功能?

相关帖子:
http://forum.cocos.com/t/import/38014/16
http://forum.cocos.com/t/json/36471/26

已经有这个功能了啊,

这个有点蛋疼啊,正常人做项目不可能有这么多 prefab 和 AnimationClip

比较多的资源主要还是 SpriteFrame,如果没有用图集的话,仍然可以强制内联试试

好的,回头试试。

呃,可是就是有这么多

这个就暂时不考虑提供支持了,你们如果有特殊需求就自己定制下引擎吧…… 目前那两个合并参数已经覆盖了大多数用户的需要了

合并图集中的SpriteFrame对应的命令行参数是哪个呢
我看命令行构建文档里面没找到对应的参数

在文档里的名字叫做 optimizeHotUpdate