【问题标题】:Does the Content Resolver query retrieves all the data at once?Content Resolver 查询是否一次检索所有数据?
【发布时间】:2019-01-19 04:36:51
【问题描述】:

内容解析器查询是否一次检索所有数据?如果是这样,如何优化它以在光标移动时检索数据? (有可能吗?如果没有,如何优化这个过程?)

【问题讨论】:

    标签: android sqlite query-optimization android-contentprovider android-contentresolver


    【解决方案1】:

    内容解析器旨在允许访问其他应用中的数据,因此为了减少通信开销,它们会尝试检索尽可能多的数据(使用CursorWindow)。

    但是,调用query() 然后使用moveToNext() 遍历游标是唯一 检索数据的方法,因此您无法对其进行优化。

    当你不是读取而是修改数据,并且有多行时,你应该使用bulkInsert()applyBatch()等函数。

    【讨论】:

    • Being the only way to retrieve data 不代表there is nothing you can do to optimize it. 对吧?
    • 你要做什么?没有调用一次检索多行。
    【解决方案2】:

    在信息少的情况下,更准确地写出您想在您的应用中获得什么? ContentResolver 仅处理您在 ContentProvider 中声明的查询。将返回什么数据查询命令,取决于您。

    【讨论】:

    • 这也不是答案。最好在评论中问这样的问题
    猜你喜欢
    • 1970-01-01
    • 2018-09-20
    • 2018-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多