En el mundo real no se recomienda PARA NADA usar el método “allowMainThreadQueries()” al crear la instancia de la base de datos. Ya que las operaciones que realiza el DAO pueden ser muy pesadas para el Main Thread, y esto se ve reflejado en una experiencia de usuario muy mala. Lo recomendable es usar el DAO fuera del Main Thread, haciendo uso de un AsyncTask o mejor aún de una coroutine.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?