COCOS2DX 项目总结之优化游戏包大小

很多时候,渠道和发行都会向开发人员提出游戏包要压缩到XXMB一下的时候,对方的潜台词并不是让开发人员降低游戏质量来完成这个目标,而不是一定要保证质量的前提下,把包体压缩到极限范围。如果做不到对方要求,相信游戏的发布只能嘿嘿了。对于这个问题,大家可以关注知乎的一个问题“为什么现在做手游还要压缩游戏包的大小”?

         对于游戏包的压缩方法,对各个游戏有很多特定的方法,大多数是通过资源的压缩达到目的。这里,提供一个比较通用的方法,通过修改库支持,移除不必要的库,降低so库大小。

         在cocos2dx中,库文件一般包含以下:

1.      cocos2dx—-引擎库文件

2.      libcurl—第三方网络连接库

3.      CocosDenshion—–SimpleAudioEngine,用来播放声音

4.      Extensions—一些诸如spine、cocostudio等工具支持库

5.      Box2D—box2d库

6.      Chipmunk—chipmunk库

         其中,后面两个均是物理引擎库,一般大多数游戏使用的都是box2d。mk文件部分代码如下图所示:

技术分享\

         这里使用cocos2dx只带脚本,创建一个空白游戏。编译运行,分析裁剪库之前、之后,二者体积大小。裁剪方法,将上图中方框中的代码删除掉即可。

没有裁剪库之前:

         xx.apk 大小——3.36M 其中libcocos2dcpp.so 大小—-2.7M

         安装之后 大小——6.83M 其中libcocos2dcpp.so 大小—-5.3M

裁剪库之后:

         xx.apk 大小——2.26M 其中libcocos2dcpp.so 大小—-1.5M

         安装之后 大小——4.48M 其中libcocos2dcpp.so 大小—-2.9M

         这里可以看到,apk减小了1.1M,安装后,体积减小了2.35M。虽然apk体积减小的不是很多,但是对于一些小容量apk,这点压缩量,是非常可观的。



发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

(Spamcheck Enabled)

最新评论