gpt4 book ai didi

java - SQLite 中的时间花在查询上还是 moveToNext 上?

转载 作者:行者123 更新时间:2023-12-01 14:07:24 24 4
gpt4 key购买 nike

在 Android 应用程序中,您可以使用方法 ContentResolver.query()查询 URI。结果,你得到一个 Cursor 对象,然后你只需执行 Cursor.moveToNext()反复从数据库中读取数据。

是否可以在后台线程中执行query()(例如AsyncTaskdoInBackground),但moveToNext GUI 线程中的调用(例如 onPostExecute)?

也就是说,时间主要花在 query() 上,因此 moveToNext 调用很快,或者相反,行为是惰性的,实际查询执行被推迟到请求数据为止?

最佳答案

在 Android 中,SQLite 游标在第一次调用需要知道查询是否返回某些记录时才会读取数据,然后将所有数据读取到缓存中。

因此第一个 moveToNext() 调用速度较慢。您可能想在后台线程中添加 getCount() 调用。

关于java - SQLite 中的时间花在查询上还是 moveToNext 上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18795361/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com