unity/unity3d编译成android apk包瘦身方法

本文系原创,请转发的朋友带上我的链接。

相信用unity开发的同学都会遇到类似的经历:明明资源图片不大,但是发现打包后apk文件居然比不打包更大了。到底是哪里出了问题呢?

经过本人研究,发现有几个地方会影响apk包的尺寸。

1.原始图片的尺寸

程序拿到的美术素材(例如图片)首先就要关注一下是不是尺寸太大了。

比如手机屏幕尺寸一般是1280够清晰了,但是如果原始图片超过了这个尺寸,那么不仅体积大,而且也很浪费空间。

unity在导入资源的时候,会把图片解压缩,并且以自己的格式存放。所以尺寸越大,解压后的占用空间就越大。

要解决这个问题,就需要在设计时就制定好需要的图片尺寸,不要过大,以免浪费。

2.unity的设置

上面讲到unity会以自己的方式存储图片。当你导入一张图片后,会在预览图上看到尺寸和占用的内存大小。

这里有一个技巧,就是你可以根据自己的需要适当调节资源的的maxsize,一般默认可能是2048,如果你不需要那么大,比如你选择1024那么体积就会缩小一半。

然后对于图片的质量(清晰度)设置也很关键,你可以根据实际需要选择清晰度,比如一张黑白图片,你就可以选择16bit色,而不是TrueColor。这样节省很多。

3.查看编译日志

在打apk包的时候,unity会生成日志,记录那些资源占用了多大空间。

在unity编辑器里面选择console面板,在它的右上角有一个很小的菜单按钮,点击它会有下拉菜单,然后选择Editor log,这样就可以打开日志了。

在日志里面查找Memory关键字,可以找到编译时的一个报告。它告诉你哪些资源占用体积最大,这样你就可以针对它进行优化了。

4.去掉那些不需要的资源

打完apk包之后,你可以把它改名为.zip,然后用解压软件打开它,然后自己找一找assets目录下有没有无用的资源,比如你没有用到某个unity模块,就可以不要让它生成那个模块的lib或dll。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐