【问题标题】:Why my Unity game in Android freezes when calling LoadScene?为什么我在 Android 中的 Unity 游戏在调用 LoadScene 时会死机?
【发布时间】:2020-07-06 20:58:11
【问题描述】:

当我尝试加载下一个场景时游戏会永久冻结,但当我使用“Additive”模式加载它时它加载正常(使用 SceneManager.LoadScene("NextScene", LoadSceneMode.Additive)) .
在编辑器中,即使在“单一”模式下一切正常,问题只出现在 Android 上。
我不想使用“加法”模式,因为它会将新场景的内容加载到旧场景之上。
我试试:

  • 使用“adb logcat”查看是否发生异常但没有异常。
  • 将空场景加载为新场景,但问题仍然出现。
  • 使用 SceneManager.LoadSceneAsync("NextScene") 加载,但问题仍然出现。
  • 以“加法”模式加载,在加载下一个场景后,我尝试使用 SceneManager.UnloadScene("OldScene") 卸载旧场景,但它再次冻结。

所以当 Unity 尝试卸载旧场景时出现问题。
(我使用 Unity 2018.4.10f1 LTS)。
提前感谢您的帮助。

【问题讨论】:

    标签: android unity3d freeze


    【解决方案1】:

    尝试从最后一个场景中删除对象 在for循环中查看错误响应什么对象

    【讨论】:

    • 其实我试过了,没变。
    【解决方案2】:

    我尝试使用 PC 构建游戏,但遇到了同样的问题。
    我在“C:/Users/.../AppData/Local/Temp/.../My game name/Crashes”中看到 output_log.txt 文件中的内容以及崩溃后的第一条可读消息如下:
    "错误:SymGetSymFromAddr64,GetLastError:'尝试访问无效地址。' (地址:00007FFEF20E5212)"
    我的游戏没有任何其他错误或异常,
    所以我尝试使用更新版本的 Unity (2018.4.10f1 --> 2018.4.20f1) 来测试游戏,

    Abracadabra 新版本一切正常!!
    并且问题不再出现!
    我认为这是 Unity 2018.4.10f1 中的内存管理问题,但我不知道为什么。

    【讨论】:

      猜你喜欢
      • 2020-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多