@kirawa

Firebase OutOfMemoryError at java.lang.String.?

Добрый день падает приложение использующее данные из firebase database.
Данных так то много документ получается на 15 мб и постоянно растет, но как это все тогда реализовать. Я не совсем понял как что работает.

// onCreateView
databaseRef = FirebaseDatabase.getInstance().getReference().child("notifications");
        Query queryToAll = databaseRef.orderByChild("to").equalTo("/topics/all");
        Query queryToCity = databaseRef.orderByChild("to").equalTo("/topics/"+region);
        Query queryToCodeAndRegion = databaseRef.orderByChild("code").equalTo(region+"_"+code);
        queryToCodeAndRegion.addChildEventListener(this);
        queryToAll.addChildEventListener(this);
        queryToCity.addChildEventListener(this);
       .........
@Override
    public void onChildAdded(DataSnapshot dataSnapshot, String s) {
        if (dataSnapshot.hasChildren()){
            FireBaseNotification notification = dataSnapshot.getValue(FireBaseNotification.class);
               if (notification != null) {
            notification.setId(dataSnapshot.getKey());
            switch (notification.getTag()){
                case WEB:
                    notificationsListWeb.add(notification);
                    notificationsGroup.put(WEB, notificationsListWeb);
                    break;
                case ODIN_C:
                    notificationsList1c.add(notification);
                    notificationsGroup.put(ODIN_C, notificationsList1c);
                    break;
                case MEscort:
                    notificationsListMEscort.add(notification);
                    notificationsGroup.put(MEscort, notificationsListMEscort);
                    break;
            }
            adapter.notifyDataSetChanged();
        }
          }
}
  • Вопрос задан
  • 42 просмотра
Пригласить эксперта
Ответы на вопрос 1
TranE91
@TranE91
Senior Android Engineer
1) Попробуйте поставить(для быстрого решения) в манифесте android:largeHeap=true
2) Модернизируйте структуру данных в Firebase. Дело в том, что по своей структуре он не шлет вам изменения, а высылает снэпшот последних изменений - отсюда и 15мб.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы