if (File.Exists(Application.persistentDataPath + localUserFileName))
зависает приложение
Unity Version 2018.3.0f2 Это работало в версиях до 2018.3
Проблема, похоже, связана с Application.persistentDataPath
, поскольку следующая строка также вызывает зависание приложения.
Debug.Log("Application.persistentDataPath " + Application.persistentDataPath);
Есть ли способ решить эту проблему без понижения Unity?
В консоли не создаются журналы ошибок.Как предложил @ andrew-% c5% 81ukasik, я протестировал следующий код.
try
{
Debug.Log("Application.persistentDataPath " + Application.persistentDataPath);
}
catch (System.Exception ex)
{
Debug.LogException(ex);
}
Теперь в консоли есть две ошибки: 1. GetGfxDevice () должен вызываться только из основного потока (эта ошибка относится кна строку в блоке catch) 2. UnityException: get_persistentDataPath может вызываться только из основного потока.Конструкторы и инициализаторы полей будут выполняться из потока загрузки при загрузке сцены.Не используйте эту функцию в конструкторе или инициализаторах поля, вместо этого переместите код инициализации в функцию «Пробуждение» или «Запуск».(эта ошибка относится к строке в блоке try.)
Это не дубликат Загрузка и сохранение изображения в Application.persistentDataPath приводит к зависанию приложения Поскольку проблема с зависанием на предыдущемсвязанные с загрузкой с URL и сохранением в локальный файл.Однако это чисто локальный процесс.