Почему React Native AsyncStorage работает так медленно на моем телефоне? - PullRequest
1 голос
/ 30 сентября 2019

У меня проблема с приложением im Developping с Expo - React Native. Проблема в том, что, имея только одно маленькое значение, хранящееся в AsyncStorage , его требуется около 25 секунд для загрузки. Вот детали:

Expo: версия 33

Ract Native (comes with Expo): 0,59,8

My stored values: {keyOne: "ValueOne"}

Это только пример для тестирования, очевидно, в реальном приложении у меня есть больше значений. Код, который я использую для тестирования внутри App.js:

async componentDidMount(){
    console.log("Storing value...");
    await AsyncStorage.setItem("keyOne", "valueOne");
    console.log("Value stored");
    var value1 = await AsyncStorage.getItem("keyOne");
    console.log("Obtained value: "+value1);
}

С этим кодом 25 seconds тратит на хранение предмета.

Я сталкиваюсь с этой проблемой специально для телефонов Samsung , например Galaxy S7 SM-g930F. Это происходит при разработке и в производственном приложении.

Кроме того, если я сохраняю больше значений, первое, что я получаю, это одно медленное, остальные очень быстрые.

Другая деталь в том, чтоесли я сделаю тот же тест с SecureStore, очень быстро . Могу ли я сделать что-нибудь, чтобы ускорить процесс?
Какая-то альтернатива AsyncStorage?

1 Ответ

0 голосов
/ 01 октября 2019

Обязательно выполните следующие действия.

  1. Обновите собственную версию реакции до 0.59.5 +
  2. Не импортируйте {AsyncStorage} из реагированияnative (как это уже устарело)
  3. Используйте этот пакет вместо Async Storage
  4. Импортируйте как этот Импортируйте AsyncStorage из '@ Reaction-native-community / async-хранилище ';
...