Unity导出Android在高通骁龙800以上CPU概率性崩溃解决方法研究
16lz
2021-01-26
Android上的奇葩问题真的是太多了,开始测试反馈说游戏在某些Android手机上随机crash,后来经过详细的测试发现随机闪退的手机都是搭载了高通骁龙800以上的CPU。然后连上真机当crash的时候错误的日志是:
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 6ed5c800
然后打印出了一大堆的内存信息,今天记录一下解决方案也许正是你也在寻找的。
但是用OpenGL ES 3.0打包就不存在这个问题。。
只能说高手在民间 绕了一大圈是NGUI的问题 。http://www.tasharen.com/forum/index.php?topic=8415.msg48493#msg48493
此问题NGUI的最新版本已经修正了,可是搞过NGUI的都知道,尤其像快上线的项目无论如何也不能升级,因为一升级整个工程就会出各种奇葩问题。。。 我们也是抱着试试看的心态改的。
我目前的NGUI版本是3.5.3有可能前后几个版本的NGUI都存在这个问题。
找到你的NGUI里的UIDrawCall.cs类。如下图所示,左边是NGUI的最新版本, 右边是我现在的版本,当安卓平台不要执行下一句代码。
1 2 3 | #if !UNITY_ANDROID if (!trim && (verts.size << 1) < verts.buffer.Length) trim = true; #endif |
我个人觉得最好NGUI还是升级一下。鬼知道会不会还有啥奇葩问题~~~~~
转自:宣雨松博客
更多相关文章
- webview在android4.4版本以后需要知道的事情
- Android(安卓)2D游戏引擎AndEngine配置环境
- 使用Ant自动构建Android版本
- android 兼容API的检查
- Android(安卓)sdk版本以及兼容性问题
- 神奇开发工具 将iOS游戏一键转换为Android支持版本
- 百度地图 Android(安卓)SDK - 新的版本号(v3.2.0)正式上线
- 直播APP开发公司关于Android各版本关于沉浸式状态栏的设置
- No 99 · 【android】apk在线升级