Han*_*ank 12 android android-contentprovider
我现在想要为我的ContentProvider更改数据时的应用程序,我只使用插入,更新和删除的ContentResolver方法.但是在Android SDK的几个示例项目中,我注意到它们使用了applyBatch或BulkInsert.所以我想知道何时使用这些方法中的任何一种,以及使用它们比我现在所做的更有利.
jsm*_*ith 12
内容提供者可以拥有观察者,例如游标,每次插入,更新或删除时都会收到通知.通常,这会导致一些工作要更新UI.当您同时应用多个操作时,这可能会导致观察者重复更新.通常,如果要执行多次插入,更新或删除操作,则批量执行这些操作会更有效.
话虽这么说,默认的ContentProvider.applyBatch()方法只是遍历批处理并无论如何单独应用它们.ContentProvider的编写者必须覆盖它并更有效地应用它以利用批处理操作.
只是为了添加关于jsmith所说的更多细节,那就是在applyBatch是的时候BulkInsert不会是事务性的,所以如果你想确保以事务方式应用一组操作,请使用applyBatch.