Leer datos de Firebase tarda mucho incluso con un pequeño conjunto de datos
Actualmente estoy usando Firebase como un backend de almacenamiento y quiero recuperar un conjunto de datos.
Uso de FirebaseUI-Android Estoy recibiendo los datos y adaptándolo como una lista.
- Fusión de manifiesto de Android con las bibliotecas de facebook y firebase
- FirebaseRecyclerAdapter con vista vacía
- Cómo excluir el elemento de un FirebaseRecyclerAdapter
- PopulateViewHolder no se ejecuta con FirebaseRecyclerAdapter (Android)
- FirebaseRecyclerAdapter y multiplicar tipos de elementos en android
Al principio pensé que el problema era con el conjunto de datos, pero después de reducir el conjunto de datos a sólo dos objetos json hechos de unas cuantas cadenas simples el problema persiste.
A continuación se muestra el código utilizado para recuperar los datos.
mDatabase = FirebaseDatabase.getInstance().getReference(); DatabaseReference myRef = mDatabase.child("events/"); Log.d("TST", "Before Firebase"); //ListAdapter eventListAdapter; upcomingEventsList.setAdapter(new FirebaseListAdapter<EventListModel>(getActivity(), EventListModel.class, android.R.layout.two_line_list_item, myRef) { @Override protected void populateView(View v, EventListModel model, int position) { Log.d("TST", "After Firebase"); } });
Los siguientes son los mensajes de ejecución dados con el tiempo para los mensajes relevantes.
**01-10 23:18:25.113** D/TST: Before Firebase I/Adreno-EGL: <qeglDrvAPI_eglInitialize:410>: EGL 1.4 QUALCOMM build: AU_LINUX_ANDROID_LA.AF.1....020_msm8960_LA.AF.1.1_RB1__release_AU () OpenGL ES Shader Compiler Version: E031.25.03.06 Build Date: 05/22/15 Fri Local Branch: mybranch10237523 Remote Branch: quic/LA.AF.1.1_rb1.18 Local Patches: NONE Reconstruct Branch: AU_LINUX_ANDROID_LA.AF.1.1_RB1.05.00.02.006.020.....NOTHING I/OpenGLRenderer: Initialized EGL, version 1.4 D/OpenGLRenderer: Enabling debug mode 0 D/FA: Connected to remote service V/FA: Processing queued up service tasks: 4 I/Timeline: Timeline: Activity_idle id: android.os.BinderProxy@1f008d67 time:914885804 I/Timeline: Timeline: Activity_idle id: android.os.BinderProxy@1b48d3c0 time:914885804 **01-10 23:18:28.283** D/TST: After Firebase **01-10 23:18:28.283** D/TST: After Firebase
¿Es esta pérdida de aprox. 3.5s normal o estoy haciendo algo mal?
¿Por qué se accede al método populateView dos veces no una vez (se muestra de acuerdo con 2 TST: después de los mensajes de Firebase )?
El conjunto de datos que se recupera en el ejemplo anterior es dos de los siguientes objetos de datos:
{end_date=1476835200, title=Test, location=Test, content=Test, start_date=1476835200, featured_image=Test, categories=[festivals, music]}
Editar para responder a la pregunta de Frank
La segunda conexión toma mucho menos, intentada con el mismo conjunto de datos y un nuevo conjunto de datos.
01-11 01:28:37.248 30667-30667/madebyhangar.valletta2018 D/TST: Before Firebase (before retrieval starts) 01-11 01:28:41.245 30667-30667/madebyhangar.valletta2018 D/TST: After Firebase (first retrieval finished) 01-11 01:28:41.350 30667-30667/madebyhangar.valletta2018 D/TST: SECOND PROCESS: After Firebase (second retrieval finished)
- Cómo usar arrastrar y soltar en la vista de reciclador utilizando la base de datos en tiempo real firebase
- Firebase android ¿Cómo evitar que FirebaseRecyclerAdapter se actualice automáticamente?
- Agregue al oyente táctil para Firebase RecyclerView
- Acoplamiento de FirebaseRecyclerViewAdapter a un Boolean / String Map.Entry
- FirebaseUI y Firebase, ¿cuál es la diferencia?
- Cómo implementar un SetOnItemClickListener FirebaseRecyclerViewAdapter
- No se puede convertir el objeto de tipo java.util.ArrayList al modelo de tipo
- Símbolo de autenticación no válido después de 1 hora - persistencia de disco en Firebase
- Android context.getResources.updateConfiguration () desaprobado
- Estado de reproducción de Android MediaPlayer