前段时间整理项目资源时翻译了很多官方文档,实践的时候其实都是Texture的压缩,又继续搜索了很多减少安装包大小的文章,本文来做个总结
①.图片优化
在Unity Console界面右上角点开Open Editor Log(可能需要先输出一遍安卓包)
找到如下:
知道哪些资源比较大之后 :
图片压缩可以看这篇文章 : Unity 优化实践学习(二) ------ 资源优化
打包图集策略可以看雨松大大的文章 : http://www.xuanyusong.com/archives/3315
②.音频优化
https://blog.csdn.net/LN_Polaris/article/details/78811405
上面介绍的方法,是对于图片的压缩以及资源的减少,不过这些处理都会极大地影响到了游戏的画面质量和运行时的流畅程度,影响到用户的体验度。
针对于目前这种困境,不少的服务商推出了分包技术,而传统的分包是将资源切割,分段下载,进入游戏前进行二次下载;处理游戏包体瘦身时,往往采用删除代码,精简资源甚至作资源取舍的方式;在资源加载时,玩家必须要中断游戏,并在等待中进行缓慢的资源加载。
据说爱加密公司的爱压缩最多能压缩包体的80%,hhhhh,不过就我现在项目这点资源,还用不上这么牛逼的技术
①.首包(里面包含了最最必要的资源)。
②.首次进入包加载(加载游戏运行必要的资源)。
③.游戏运行中资源加载(按每个游戏不同各自定义,以场景和单位个体为主要,在画面进入时加载资源,加载结束后再运行并显示)。
一般情况下android平台不需要编译x86的版本,因为设备太少了,需要考虑对应平台的时候可以单独打一个x86版本的包。除非不考虑apk的包大小的时候,才会选择FAT兼顾兼容性。
差不多减少了30M左右
unity空项目导出xcode项目安装后104M,优化后,因为是空项目,可能有些参数要比较复杂才会减少的比较可观,因此也放在后面记录下
(Levels选项内)Generate Debug Symbols 设置为NO,这个配置选项应该会让你减去小半的体积。注意这个如果设置成NO就不会在断点处停下
设置为No后90M
armv7用于支持4s和4,4s是2011年11月正式上线,虽然还有小部分人在使用,但是追求包体大小的完全可以舍弃了。valid Architecture
对于我来说,安装设备是需要ARKit支持的,所以完全可以去掉,优化后89.8M,很神奇就减了这么点。。。。哈哈,聊胜于无吧
Strip Debug Symbols During Copy 和 Symbols Hidden by Default 在release版本应该设为yes,可以去除不必要的调试符号。Symbols Hidden by Default会把所有符号都定义成”private extern”,设了后会减小体积。
优化后87.1M
bit code 解释:http://www.cocoachina.com/ios/20150818/13078.html
xcode相关设置:http://blog.csdn.net/skylin19840101/article/details/51452594
不过我项目打包出来本来就是为No
Build Settings->Optimization Level有几个编译优化选项,release版应该选择Fastest, Smalllest[-Os],这个选项会开启那些不增加代码大小的全部优化,并让可执行文件尽可能小。
DEBUG下设为NO,RELEASE下设为YES,用于RELEASE模式下缩减app的大小;
发现Frameworks文件夹大小为 :32.5M(然后在xcode的framework发现vuforia.framework,ilcpp2.a很大)
Data:12.8M
conntenttest : 25.5M
后续再优化
参考博客:
1.Unity 减小安卓包大小
2.unity - 打出的IPA包太大
3.Unity3D之如何将包大小减少到极致
4.unity安卓包大小压缩优化(146M优化到83M)
5.Unity的包体压缩以及音效优化
6.iOS 优化ipa包,减小安装包大小
7.Unity 导出的Xcode工程目录
8.Unity导出ios工程如何减小运行内存、安装包(ipa)、以及安装后大小