最近遇到了个很怪异的问题:
Unity Adroid嵌入其它工程开启unity,闪过logo后黑屏持续10多秒。
大致经过:
Unity导出Android Studio工程,并将导出的unityLibrary嵌入其它已经做好的AndroidStudio工程,直接从Unity导出的Android Studio工程直接连接手机调试就不会出现卡顿现象,所以就针对启动unityLibrary的官方模板launcher找原因。对比了launcher的build.gradle与要嵌入的项目的build.gradle文件进行对比,终于发现了重点配置内容 android ==> aaptOptions 里面的 noCompress 项所致。
结论:
如果发现闪屏过后黑屏很久,或加载/读取Resources资源,StreamingAssets资源卡顿严重,并且控制台什么错误都没有的话。
可以考虑下所嵌入的安卓工程里面的build.gradle ==> android ==> aaptOptions ==> noCompress 项配置,如果没配置的话,资源都被压缩了。所以在Unity运行时,需要加载资源之前都要经过一次解压操作,导致卡顿严重。
aaptOptions { noCompress = ['.unity3d', '.ress', '.resource', '.obb', '.bundle', '.unityexp'] + unityStreamingAssets.tokenize(', ') ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:!CVS:!thumbs.db:!picasa.ini:!*~" }
标签:嵌入,工程,安卓,gradle,Unity,noCompress,黑屏 From: https://www.cnblogs.com/yzxhz/p/18385236