Ahora mismo para mi aplicación cuando quiero alterar datos para mi ContentProvider, solo uso los métodos ContentResolver de insertar, actualizar y eliminar. Pero en un par de proyectos de muestra en el SDK de Android, noté que usan applyBatch o BulkInsert. Así que quiero saber cuándo usar cualquiera de estos métodos y cuáles son las ventajas de usarlos sobre lo que estoy haciendo ahora.Android cuando usar ContentResolver applyBatch o BulkInsert
Respuesta
Los proveedores de contenido pueden tener observadores, como los cursores, que se notifican cada vez que ocurre una inserción, actualización o eliminación. Por lo general, esto resulta en algún trabajo que se realiza para actualizar la interfaz de usuario. Cuando tiene varias operaciones para aplicar al mismo tiempo, esto podría dar lugar a actualizaciones repetitivas por parte de los observadores. En general, si tiene varias inserciones, actualizaciones o eliminaciones para realizar, es más eficiente hacerlo a granel.
Dicho esto, el método predeterminado ContentProvider.applyBatch() simplemente itera sobre el lote y los aplica de forma individual de todos modos. El escritor de ContentProvider debe anular esto y aplicarlo de manera más eficiente para aprovechar las operaciones por lotes.
Solo para agregar más detalles sobre lo que dijo jsmith, es que BulkInsert no será transaccional mientras que applyBatch sí, por lo que si desea asegurarse de que se aplica un grupo de operaciones en una transacción, use applyBatch.
- 1. Android: transacciones SQLite cuando se utiliza ContentResolver
- 2. ¿Cómo se usa la función bulkInsert() en android?
- 3. android view o surfaceView, ¿qué debo usar?
- 4. Cómo crear una nueva lista de reproducción usando ContentResolver
- 5. ¿Cuánto tiempo puedo retener un ContentResolver en una AsyncTask?
- 6. La inserción de miles de entradas de contactos usando applyBatch es lenta
- 7. Cuándo usar HTML5 en android? cuando no lo usas?
- 8. ¿Cómo puedo actualizar la ruta del álbum utilizando contentResolver?
- 9. Ohmios y Redis: cuando usar set, list o collection?
- 10. Cómo usar ExifInterface con una secuencia o URI
- 11. ¿Es mejor usar múltiples SpanObjects o múltiples TextViews en Android?
- 12. Desenfocar o atenuar el fondo cuando Android PopupWindow activo
- 13. ¿Cómo usar V4L o V4L2 (Video para Linux) en Android?
- 14. Carga de imágenes de Android: ¿usar actividad o servicio?
- 15. Android: cómo usar CursorAdapter?
- 16. Android cómo usar Environment.getExternalStorageDirectory()
- 17. Usar SurfaceTexture en Android
- 18. Usar JDO en Android
- 19. ¿Cómo usar Android DownloadManager?
- 20. android - ¿cómo puedo usar el "android: layoutDirection"?
- 21. manejador o temporizador android
- 22. ¿Cómo usar onPause con Android?
- 23. Cuando usar CouchDB vs RDBMS
- 24. android: cuándo usar onStart(), onStop()?
- 25. Android: cómo usar SectionIndexer
- 26. ¿Cómo usar Android ViewSwitcher?
- 27. ¿Cómo usar Android ViewPager?
- 28. Usar serviceloader en android
- 29. Android: Cómo usar AlarmManager
- 30. cómo usar #ifdef con una condición O?
Si está creando su propia clase 'ContentProvider', puede anular' bulkInsert' para que se utilicen las transacciones. –