Android - Unity3D 在某些手机上的启动画面中冻结

Android - Unity3D freeze in splash screen on some phones

我对 Unity3D 有疑问。我用 Unity 4.6.2f1 创建了一个游戏。我的问题是,游戏在启动画面后崩溃(就像试图不断打开自己一样)。奇怪的是,游戏在我的 phone 和我的平板电脑上运行完美。我有 Nexus 5(使用 Android 5.1.1)、Iocean X7S(使用 Android 4.2.2)、PolyPad 平板电脑(Android 4.2.2)、Teclast X98(Android 4.4.4)。我有一些 beta 测试人员,其中有 LG G2、三星 S5660、索尼 Xperia Z3、HTC M8。在这 4 个 phone 中,只有三星做到了 运行,而其他人则失败了。我首先认为这是因为显示位。所以我取消选中 32 位和 24 位显示缓冲区。同样的结果。然后我尝试更改强制 Open GL ES 版本。我尝试使用 "Automatic" 部分构建它 - 我不知道它是否失败但它在一段时间后开始褪色,即使在我的设备中也是如此,所以我想这不是修复的选项。然后我试图强制它使用 Open GL ES 3.0 ,再次失败。然后我在某个地方读到我的 AdMob 插件可能是原因,所以我从场景中删除了 AdMob 的组件并删除了所有 AdMob 插件文件。同样的结果。由于崩溃的 phone 不在我的控制之下,所以很难轻易地检测到真正的问题,因为我真的需要为每次测试向我的朋友乞求,因为我的测试人员是我的朋友,他们有自己的个人生活,根据对他们来说,这比整天测试我的游戏更重要。顺便说一句,我也想补充一点,就像一个月前一样,一切都很好。我的朋友 phone(拥有 G2 的人)运行宁正常。我对签署 apk 感到怀疑。因为在签名之前,当我在没有签名的情况下发送它时,它正在工作。这当然可能是错误的想法。我不是专家,所以我在这里寻求您的帮助。我真的很想知道为什么会这样,我想解决这个问题。谢谢!

我遇到过类似的问题,有时问题是设备内存、空引用等。您也可以尝试强制 Opengl ES 2.0

抱歉无法发表评论

好的,我找到了解决方案。结果是我的一个脚本导致了这个问题。所以我删除了它并重写了另一个做同样工作的脚本。我假设,脚本试图一遍又一遍地使用 RAM,因此,Adreno 330 型处理器试图阻止应用程序的 Open GL 以防止 phone 完全崩溃。这当然只是假设。但是,如果您遇到像我一样的问题,尤其是在 Adreno 330 处理器中,请尝试先检查您的代码是否存在任何过载。