Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在SQLite中是在查询上还是在moveToNext上花费的时间?_Java_Android_Sqlite_User Interface - Fatal编程技术网

Java 在SQLite中是在查询上还是在moveToNext上花费的时间?

Java 在SQLite中是在查询上还是在moveToNext上花费的时间?,java,android,sqlite,user-interface,Java,Android,Sqlite,User Interface,在Android应用程序中,您使用该方法查询URI。因此,您会得到一个游标对象,然后重复执行以从数据库读取数据 是否可以在后台线程中执行query()(例如doInBackground的AsyncTask),但在GUI线程中调用moveToNext(例如onPostExecute)呢 也就是说,大部分时间都花在了query()上,所以moveToNext调用很快,或者相反,行为是懒惰的,实际的查询执行被推迟到请求数据时才执行?在Android中,SQLite游标直到第一次调用需要知道查询是否返回

在Android应用程序中,您使用该方法查询URI。因此,您会得到一个
游标
对象,然后重复执行以从数据库读取数据

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


也就是说,大部分时间都花在了
query()
上,所以
moveToNext
调用很快,或者相反,行为是懒惰的,实际的查询执行被推迟到请求数据时才执行?

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

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

似乎是一些
System.nanoTime()
调用可以很容易地解决这个问题。。。