Unity减少安装包的大小总结
前段时间整理项目资源时翻译了很多官方文档,实践的时候其实都是Texture的压缩,又继续搜索了很多减少安装包大小的文章,本文来做个总结
一.通用
1.替换jpg,使用psd,减少重复资源(设计说这个应该是使用psd软件来处理,不是用psd替换jpg)
2.剔除不必要的资源
3.打包时查看log纪录,由此判断需要减少的文件类型
4.图片及音频优化
①.图片优化
在Unity Console界面右上角点开Open Editor Log(可能需要先输出一遍安卓包)
找到如下:
知道哪些资源比较大之后 :
- 一个个压缩
图片压缩可以看这篇文章 : Unity 优化实践学习(二) ------ 资源优化
- 打包成图集
打包图集策略可以看雨松大大的文章 : http://www.xuanyusong.com/archives/3315
- 第三个方法是群里一个朋友提出的,把全部素材的分辨率调成2的倍数,统一压缩比较好
②.音频优化
https://blog.csdn.net/LN_Polaris/article/details/78811405
5.优化,压缩网格和动画,减少文件大小
6.剔除system.dll和system.xml.dll,尽量不要依赖他们,或用其他组件来代替。
上面介绍的方法,是对于图片的压缩以及资源的减少,不过这些处理都会极大地影响到了游戏的画面质量和运行时的流畅程度,影响到用户的体验度。
针对于目前这种困境,不少的服务商推出了分包技术,而传统的分包是将资源切割,分段下载,进入游戏前进行二次下载;处理游戏包体瘦身时,往往采用删除代码,精简资源甚至作资源取舍的方式;在资源加载时,玩家必须要中断游戏,并在等待中进行缓慢的资源加载。
据说爱加密公司的爱压缩最多能压缩包体的80%,hhhhh,不过就我现在项目这点资源,还用不上这么牛逼的技术
7.分包技术
①.首包(里面包含了最最必要的资源)。
②.首次进入包加载(加载游戏运行必要的资源)。
③.游戏运行中资源加载(按每个游戏不同各自定义,以场景和单位个体为主要,在画面进入时加载资源,加载结束后再运行并显示)。
二.减少Android包大小
1.取消x86架构的兼容选项
一般情况下android平台不需要编译x86的版本,因为设备太少了,需要考虑对应平台的时候可以单独打一个x86版本的包。除非不考虑apk的包大小的时候,才会选择FAT兼顾兼容性。
差不多减少了30M左右
三.减少IPA包大小
unity空项目导出xcode项目安装后104M,优化后,因为是空项目,可能有些参数要比较复杂才会减少的比较可观,因此也放在后面记录下
1.配置编译选项
(Levels选项内)Generate Debug Symbols 设置为NO,这个配置选项应该会让你减去小半的体积。注意这个如果设置成NO就不会在断点处停下
设置为No后90M
2.舍弃架构armv7
armv7用于支持4s和4,4s是2011年11月正式上线,虽然还有小部分人在使用,但是追求包体大小的完全可以舍弃了。valid Architecture
对于我来说,安装设备是需要ARKit支持的,所以完全可以去掉,优化后89.8M,很神奇就减了这么点。。。。哈哈,聊胜于无吧
3.去除符号信息
Strip Debug Symbols During Copy 和 Symbols Hidden by Default 在release版本应该设为yes,可以去除不必要的调试符号。Symbols Hidden by Default会把所有符号都定义成”private extern”,设了后会减小体积。
优化后87.1M
3.XCode工程中将Bitcode由yes改为no (已默认为No)
bit code 解释:http://www.cocoachina.com/ios/20150818/13078.html
xcode相关设置:http://blog.csdn.net/skylin19840101/article/details/51452594
不过我项目打包出来本来就是为No
4.编译器优化级别(没啥变化,可能因为是空项目)
Build Settings->Optimization Level有几个编译优化选项,release版应该选择Fastest, Smalllest[-Os],这个选项会开启那些不增加代码大小的全部优化,并让可执行文件尽可能小。
6.Strip Linked Product(默认为Yes)
DEBUG下设为NO,RELEASE下设为YES,用于RELEASE模式下缩减app的大小;
最后仔细分析了IPA包的大小 :
发现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)、以及安装后大小
Unity减少安装包的大小总结相关推荐
- 浅析如何减小iOS版微信安装包的大小
引用资源"减肥" 资源瘦身主要是去掉无用资源和压缩资源,资源包括图片.音视频文件.配置文件以及多语言wording.无用资源是指资源在工程文件里,但没有被代码引用.检查方法是,用资 ...
- 竞品技术三瞥安装包的大小
1 从几件小事说起 春节在家帮姐姐的iPhone手机安装市面上形形色色的App,忘记她是使用4G流量包月了,于是在下载了10个App后,不但耗尽了流量,还按照0.3元/兆的价格扣了七八十元话费.后来我 ...
- Unity Window安装包制作
介绍: 今天给大家介绍一下将Unity打包的exe程序制作成安装包. 因为公司它是一个做传统教育行业的公司,18年初才开始转型做线上教育产品,所以公司对其投入并不是特别大,所以我们当时才用RAR的自解 ...
- Unity 打包安装包
2.下载Inno Steup Compiler 3.开始导出安装包 xxx:DiskSpanning=true
- Android App 性能优化之安装包大小
先给出一张Google官方给出的Apk构建流程 安装包的大致构成 1. assets目录 2. lib目录 3. res目录 4. META-INF 目录 5. AndroidManifest.xml ...
- 【Android 安装包优化】Tint 着色器 ( 简介 | 布局文件中的 Tint 着色器基本用法 | 代码中使用 Tint 着色器添加颜色效果 )
文章目录 一.Tint 着色器简介 二.布局文件中的 Tint 着色器基本用法 三.代码中使用 Tint 着色器添加颜色效果 四.参考资料 一.Tint 着色器简介 Tint 着色器的作用是是 可以使 ...
- 京东商城iOS客户端安装包瘦身实践
一.概述 随着业务的快速增加,商城app的大小也在迅速增加,一度超过了300M.安装包大小的不断增加对app下载成本,推广效率产生了比较大的影响.从2018年9月份我们对商城app开始了为期二期的专项 ...
- Android App安装包瘦身计划
Android App安装包瘦身计划 Android App安装包体积优化: 理由, 指标和可以采用的方法. 本文内容归纳如下图: 为什么要安装包瘦身 安装包需要瘦身吗? 不需要吗? 安装包要瘦身的主 ...
- Android安装包体积优化
APK瘦身经验小结_crazy_jack-CSDN博客 最近看滴滴开源的Dokit框架中有一个大图监控的功能,可以对图片的文件大小和所占用的内存大小设置一个阈值,当图片超过该值的时候进行提示. And ...
最新文章
- TensorRT Samples: CharRNN
- 机会是怎么变成陷阱的?
- mysql ES 同步中间件
- 吴恩达新书《Machine Learning Yearning》手稿完工,现在全集免费下载!(附pdf下载)
- Symfony 框架实战教程——第一天:创建项目(转)
- 【12-05】面试题
- 推荐:网站SEO内链详细操作指南
- [异步图书].Python机器学习:预测分析核心算法.pdf
- 员工管理系统-SpringBoot+Vue入门小项目实战
- 神书《笛卡儿几何》读后感
- linux下查看进程占用网络,linux怎么查看进程占用端口
- 互联网行业中最常用的数据库——MySQL 索引、事务与存储引擎
- android 黑白屏问题
- 雪城大学Syracuse University介绍
- IPAD 安装win8 苏菲安装Mac OS iphone安装安卓
- Revit API 开发 (10): ExtensibleStorage 外部存储
- 2022张宇考研基础30讲 第十五讲 数一数二专题
- JS 文件压缩与反压缩
- Polymesh 公司行为 发放股息
- 解决pyinstaller打包涉及uiautomation截图时出现的dll找不到的错误
热门文章
- 什么样的能量才能支撑一个人走过人生的低谷和迷茫
- 热用图片怎么表示简笔画,网络简笔画图片大全
- iOS 使用HMAC
- 手机通讯录删除了怎么恢复
- 解决IE浏览器下载文件,文件名乱码问题(浏览器历史介绍)
- ooXMLAgile Encryption(一)文档结构
- vfp:汉字翻译成拼音
- Linux下svn报错:Can‘t create temporary file from template ‘/tmp/svn-XXXXXX‘: Permission denied
- c语言dht网络爬虫,用Node.js实现一个DHT网络爬虫,一步一步完成一个BT搜索引擎(一)...
- 关于RT thread系统节拍时钟的配置