先从官网上贴一张图:
通过阅读官方文档,可以看到主要有两个函数影响启动时长。
UnityInitApplicationGraphics 和 UnityLoadApplication
其中,UnityInitApplicationGraphics执行的是Unity引擎的内部工作,初始化内部系统,最重要的是也初始化了资源管理系统,会去加载资源管理系统包含的所有文件,即Resources目录下的所有文件。如果Resources下文件多,启动时间就会变长。
UnityLoadApplication函数,会去加载并初始化项目第一个场景,反序列化场景中需要的所有数据,那么我们挂在的脚本Awake方法也会跟着执行,如果逻辑中存在大量耗时代码,启动时间就会变长。
尽可能减少Resources下的文件,除了必要,完全可以用AssetBundle加载。
尽量减少第一个场景的挂载脚本的Awake方法中的逻辑耗时,可以在将逻辑移到Start方法,配合协程处理等等。
上一篇:没有了!
下一篇:资源预处理和资源规范建议