转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/android-game/1521.html
新年刚过,由于近来没有写新教程,感觉有点对不住大家,所以今天给大家来一篇超实用文章!也算补过新年小礼物给大家吧。
——————————————-Himi 简易分割线——————————————-
程序包的【体积】优化方法:
首先 你需要很清楚当前自己项目什么地方占的体积最多,例如动画序列多少MB、地图占多少MB等等,都要提前做一个Check! 别总是认为哪里哪里可能占的多,要详细的知道才行!
1. 采用工具对资源进行[打包],例如TexturePacker 等工具。
2. 采用png压缩工具等,在打包图片前对每张图片进行[压缩]!
如果以上两点都做了还是体积过大,那么继续采取如下办法:
3. [降低图片质量],比如你项目使用的图片是24bit,那么你可以采用低一些的,例如8bit的图片质量类似。 (ps.别说这样会让图片失真,先试试降低到什么程度的bit最合适再说)
4. 使用特定的压缩格式的图片,例如[wdp] 等等
5. 如果项目中帧序列动画占的比较多,那么可以采取[降帧]的方式来优化。
6. [缩放] 图片!举例,假设你项目用了10张500*500规格的图片,那么你可以让美术把这种图片缩放70%~80%,然后用这种缩放过的图片进行程序放大。(这种方式的图片质量是否会看起来失真,完全取决于缩小的倍数决定,可以适当调整缩放倍数,但是此方法绝对可行!)
7.如果以上方式都优化过,那么可以采取 [换思路]方式,假设你的地图是一张500*500的大图作为背景地图,那么你要考虑是否可以采用地图编辑器来进行拼接的方式来进行!
8. 采用[编辑器],可以利用地图编辑器、动作编辑器、骨骼编辑器等从而减少资源的使用从而达到减少体积,降低内存的使用。
9. 如果以上方式还都无法让你的项目包体积降低,那么你只能采用[在线更新下载]了,将程序包分为两部分,一部分是启动游戏所需的必要资源,另外一部分是游戏启动非涉及到的资源,将启动不会使用的资源放在服务器端,通过在线更新方式,从服务器将其他资源下载到客户端即可。
10. 再如果以上方式都采用后还是体积偏大,宝贝,你只能来个[阉割版]了,常命名为[xxx Lite]
——————————————-Himi 简易分割线——————————————-
程序【运行内存】的体积优化方法:
其实降低程序包体积的方法很多都同时降低了程序的运行内存,例如:
1. [降低图片质量]、[调整图片规格]、 [采用编辑器]、[缩放图片] 等等。
其他方法:
2. [检查代码逻辑 ,主要看资源加载相关的部分代码]
3.[ 检查释放逻辑代码]
其实对于内存的优化,主要还是看项目的类型和复杂度的,具体问题具体考虑吧~
好了,本篇就简单介绍到这里啦~ 希望对各位童鞋有所帮助~新的一年,祝愿大家步步高升、各种升职加薪!!!