Pregunta

¿Debo usar un ReadWriteLock en las funciones del ContentProvider?

En la consulta del ContentProvider, tengo que ReadableBase, luego verifique si está abierto y realiza la consulta. Pero a veces se bloquea en la exepción de la base de datos. Este podría ser que un otro proceso realiza un inserto que hace una getwritebledatabase que cierra la primera.

Estoy usando una aplicación y un servicio que consulta e inserta en el ContentProvider constantemente. Entonces parece que el ContentProvider no es ThreadSafe.

¿Podría ayudar a que la función se sincronice?

¡Gracias!

¿Fue útil?

Solución

En la consulta del ContentProvider, tengo que ReadableBase, luego verifique si está abierto y realiza la consulta. Pero a veces se bloquea en la exepción de la base de datos. Este podría ser que un otro proceso realiza un inserto que hace una getwritebledatabase que cierra la primera.

Debe mantener su base de datos abierta para toda la vida del ContentProvider, HASTA DONDE SE.

Entonces parece que el ContentProvider no es ThreadSafe.

Afaik, un ContentProvider Solo se llama en un hilo.

ContentProvider es principalmente una fachada y no proporciona seguridad intrínseca de hilo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top