Функция Firebase setValue останавливает приложение на 2 минуты - PullRequest
0 голосов
/ 20 апреля 2019

Я создаю приложение посещаемости в качестве своего дипломного проекта, когда инструктор нажимает кнопку записи магазина, следующий код будет запущен для сохранения записи посещаемости и обновления времени посещаемости / отсутствия для каждого студента. Проблема в том, что приложение зависает на 1-2 минуты, а процессор остается на 200% во время остановки, что не так с моим кодом? И как я могу улучшить это? Я новичок в Firebase и NoSQL, поэтому будьте добры, пожалуйста.

for student in students { // 500 elements
    if attendees.contains(student.identifier) { // 400 elements
        student.attendanceCount += 1
        ref.child("class").child(currentClass.identifier).child("students").child(student.identifier).child("attendance").setValue(student.attendanceCount)
        ref.child("class").child(currentClass.identifier).child("records").child(date).child("attendance").child(student.identifier).setValue(true)
    }
    else if absentees.contains(student.identifier) { // 100 elements
        student.absenceCount += 1
        ref.child("class").child(currentClass.identifier).child("students").child(student.identifier).child("absence").setValue(student.absenceCount)
        ref.child("class").child(currentClass.identifier).child("records").child(date).child("attendance").child(student.identifier).setValue(false)
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...