Firebase начинает тормозить, если отладчик не работает - PullRequest
1 голос
/ 13 апреля 2019

У меня есть базовое приложение чата, которое содержит только разговоры и сообщения.Пользователь может отправить сообщение, а другой получает его.Он хорошо работает на симуляторе, но когда я загружаю свое приложение на свое устройство (iPhone SE), оно становится медленным.

Я что-то нашел, если удаленный отладчик открытое приложение работает очень плавно, в противном случае оно начинает работать как второе видео .

Как эта проблема связана с реагирующим удаленным отладчиком?

Что я сделал?

Я попытался настроить автономные данные, и мне удалось настроить.Но это не имело никакого значения.

Видео

Мое приложение на симуляторе Мое приложение на моем устройстве

Отправьте код сообщения

const msg = {
    name,
    text,
    createdAt: firebase.firestore.FieldValue.serverTimestamp(),
    senderId,
    receiverId,
  };
  const conversationId = createOneToOneMessageId(senderId, receiverId);
  const rootRef = firebase.firestore();
  const batch = rootRef.batch();

  const newMessageRef = rootRef
    .collection('conversations')
    .doc(conversationId)
    .collection('messages')
    .doc();

  batch.set(newMessageRef, msg);

  const updateSenderConversationRef = rootRef
    .collection('user-conversations')
    .doc(senderId)
    .collection('conversations')
    .doc(conversationId);

  batch.update(updateSenderConversationRef, {
    lastMessage: msg.text,
    lastMessageDate: msg.createdAt,
  });

  const updateReceiverConversationRef = rootRef
    .collection('user-conversations')
    .doc(receiverId)
    .collection('conversations')
    .doc(conversationId);

  batch.update(updateReceiverConversationRef, {
    lastMessage: msg.text,
    lastMessageDate: msg.createdAt,
  });

  batch.commit();

Вопрос

  • Это «задержка» происходит из-за операции пакетной записи?
  • Есть ли разница между моим устройством и симуляторомдля облачного пожарного магазина?
  • И, очевидно, как я могу решить эту проблему?
...