【发布时间】:2019-01-19 04:36:51
【问题描述】:
内容解析器查询是否一次检索所有数据?如果是这样,如何优化它以在光标移动时检索数据? (有可能吗?如果没有,如何优化这个过程?)
【问题讨论】:
标签: android sqlite query-optimization android-contentprovider android-contentresolver
内容解析器查询是否一次检索所有数据?如果是这样,如何优化它以在光标移动时检索数据? (有可能吗?如果没有,如何优化这个过程?)
【问题讨论】:
标签: android sqlite query-optimization android-contentprovider android-contentresolver
内容解析器旨在允许访问其他应用中的数据,因此为了减少通信开销,它们会尝试检索尽可能多的数据(使用CursorWindow)。
但是,调用query() 然后使用moveToNext() 遍历游标是唯一 检索数据的方法,因此您无法对其进行优化。
当你不是读取而是修改数据,并且有多行时,你应该使用bulkInsert()或applyBatch()等函数。
【讨论】:
Being the only way to retrieve data 不代表there is nothing you can do to optimize it. 对吧?
在信息少的情况下,更准确地写出您想在您的应用中获得什么? ContentResolver 仅处理您在 ContentProvider 中声明的查询。将返回什么数据查询命令,取决于您。
【讨论】: