Gran cantidad de datos + Objectbox + adaptador RecyclerView

Gran cantidad de datos + Objectbox + adaptador RecyclerView

Principiante de Android. He almacenado 100.000 elementos en la base de datos de Objectbox.

Antes de mostrar RecyclerView, tengo que actualizar el conjunto de datos cada vez (debido a agregar, eliminar elementos). Así que llamo a myRecyclerViewAdapter. setDataset(myObjectBox.getAll()).

Entonces, antes de mostrar la interfaz de usuario, la consulta lleva un poco de tiempo, la interfaz de usuario se retrasa. Después de eso, la interfaz de usuario funciona normalmente.

¿Hay alguna solución para acelerar la consulta?

Mostrar la mejor respuesta

usar carga diferida (io.objectbox.query.LazyList<E>)

Gracias @pskink, pero no sé cómo usar LazyList. ¿Me puede dar un pequeño ejemplo de código.

Ya lo hice, pero no puedo entender el punto. Confundido acerca de la carga parcial, el almacenamiento en caché, etc. Es útil un ejemplo de código con la implementación de RecyclerView.

no debe consultar grandes cantidades en el hilo principal. Compruebe las consultas reactivas.

Ejemplo mínimo:

Query<Task> query = taskBox.query().build();
query.subscribe(subscriptions)
     .on(AndroidScheduler.mainThread())
     .observer(data -> updateUi(data));

Lea los documentos completos.

Feliz de saber de usted Sr. Markus. Lo intentaré en el código, pero estaré feliz si coloca una implementación de ejemplo con RecyclerView en github o en otro lugar. Útil para novatos como yo.

Una pregunta: Llamé a notifyItemRemoved() cada vez que elimino un elemento. Pero no hizo ninguna llamada al agregar un artículo. Pero el código sigue funcionando correctamente. ¿Cómo? ¿Es necesario llamar a notifyDataSetChanged()?

Definitivamente todos deberían probar Objectbox... ¡es alucinante!

El observador se activa automáticamente en las actualizaciones. Está documentado en el enlace que di en la respuesta.