您的位置:首页 > 其它

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

2015-03-02 20:11 239 查看
项目总结之优化游戏包大小
DionysosLai2015/3/2
很多时候,渠道和发行都会向开发人员提出游戏包要压缩到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,这点压缩量,是非常可观的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: