Вылеты из-за PlayerPrefs

Ошибки и баги Unity3D

Вылеты из-за PlayerPrefs

Сообщение HelpMePlz 13 мар 2022, 21:20

Я долго думал в чем проблема, и потратив немало времени я выяснил что проблема в PlayerPrefs. После того как я убираю каждую строчку связанную с PlayerPrefs, программа работает стабильно и не вылетает, есть вариант перейти на другую систему сохранения, но есть ли решение этой проблемы. Помогите мне пожалуйста.
HelpMePlz
UNец
 
Сообщения: 5
Зарегистрирован: 13 мар 2022, 21:17

Re: Вылеты из-за PlayerPrefs

Сообщение 1max1 13 мар 2022, 21:24

Похоже на неверное понимание результатов. Покажи код из-за которого краши.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Вылеты из-за PlayerPrefs

Сообщение HelpMePlz 13 мар 2022, 21:50

В коде ничего такого нету, просто считывает данные, если есть такой PlayerPrefs, то переменной присваивает это значение. Вот весь скрипт
public void Start()
{
Debug.Log("Save Manager: START");
if (!PlayerPrefs.HasKey("SelectedLanguage_"))
{
PlayerPrefs.SetString("SelectedLanguage_", "en");
LoadTranslate();
}
else
{
LoadTranslate();
}
if (PlayerPrefs.GetString("SelectedLanguage_") == "en")
{
buttonController.LanguageChoose.value = 0;
}
else if (PlayerPrefs.GetString("SelectedLanguage_") == "ru")
{
buttonController.LanguageChoose.value = 1;
}
for (int a = 0; a < collection.characters.Length; ++a)
{
if (PlayerPrefs.HasKey("CharacterPlusPrimogems" + a))
{
collection.characters[a].PlusPrimogems = PlayerPrefs.GetInt("CharacterPlusPrimogems" + a);
collection.characters[a].C = PlayerPrefs.GetInt("CharacterC_Count" + a);
collection.characters[a].ConstaText.text = $"C{collection.characters[a].C}";
collection.characters[a].Locked.SetActive(false);
if (collection.characters[a].C > 0)
collection.characters[a].Dublicate = true;
}
}
for (int a = 0; a < collection.weapons.Length; ++a)
{
if (PlayerPrefs.HasKey("WeaponPlusPrimogems" + a))
{
collection.weapons[a].PlusPrimogems = PlayerPrefs.GetInt("WeaponPlusPrimogems" + a);
collection.weapons[a].C = PlayerPrefs.GetInt("WeaponC_Count" + a);
collection.weapons[a].ConstaText.text = $"P{collection.weapons[a].C}";
collection.weapons[a].Locked.SetActive(false);
if (collection.weapons[a].C > 0)
collection.weapons[a].Dublicate = true;
}
}
if (PlayerPrefs.HasKey("MyPrimogems"))
myMoney.Primogems = PlayerPrefs.GetInt("MyPrimogems");
if (PlayerPrefs.HasKey("StandartGacha"))
myMoney.StandartGacha = PlayerPrefs.GetInt("StandartGacha");
if (PlayerPrefs.HasKey("EventGacha"))
myMoney.EventGacha = PlayerPrefs.GetInt("EventGacha");
if (PlayerPrefs.HasKey("RareGarant"))
wish.RareGarant = PlayerPrefs.GetInt("RareGarant");
if (PlayerPrefs.HasKey("LegendaryGarant"))
wish.LegendaryGarant = PlayerPrefs.GetInt("LegendaryGarant");
if (PlayerPrefs.HasKey("LegendaryWeapon"))
wish.LegendaryWeapon = PlayerPrefs.GetInt("LegendaryWeapon");
if (PlayerPrefs.HasKey("StandartLegendary"))
wish.StandartLegendary = PlayerPrefs.GetInt("StandartLegendary");
if (PlayerPrefs.HasKey("BannerNumber"))
banners.BannerNumber = PlayerPrefs.GetInt("BannerNumber");
BannersUpdate();
myMoney.UpdateInfo();
}
HelpMePlz
UNец
 
Сообщения: 5
Зарегистрирован: 13 мар 2022, 21:17

Re: Вылеты из-за PlayerPrefs

Сообщение HelpMePlz 13 мар 2022, 22:00

Могу скинуть logcat, но не знаю поможет ли.
HelpMePlz
UNец
 
Сообщения: 5
Зарегистрирован: 13 мар 2022, 21:17

Re: Вылеты из-за PlayerPrefs

Сообщение HelpMePlz 13 мар 2022, 22:16

Извиняюсь забыл уточнить:
1) Вылеты на некоторых устройствах не происходят, на других же вылетает после загрузки сцены с задержкой в 10-15 секунд, или до запуска программы как говорят по отзывам
2)На моем устройстве(Honor 9 lite) Вылетает после 10-15 секунд после запуска.
Так как у меня недостаточно опыта, я думал что это из-за нехватки памяти, можете сказать так оно или нет? С такой проблемой сталкиваюсь впервые и честно говоря я не знаю что делать...
HelpMePlz
UNец
 
Сообщения: 5
Зарегистрирован: 13 мар 2022, 21:17

Re: Вылеты из-за PlayerPrefs

Сообщение 1max1 14 мар 2022, 02:00

Логи очень хотелось бы увидеть, там должна быть указана причина краша. Код префса тесно связан с другим кодом, не думаю что будет правильно говорить что вылетает именно из-за него, еще хотя бы потому что вылетает не сразу.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51


Вернуться в Глюки

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1