android - 从 SQLite 数据库加载 10000 行最快的方法是什么?

标签 android sqlite android-sqlite database-performance

将 10,000 行从 SQLite 数据库加载到内存中的最快方法是什么?每行有 1 个文本和 4 个整数。目前,我正在这样做:

while(!cursor.isAfterLast()) {
    cursor.copyStringToBuffer(column_index_1, buffer);
    cursor.copyStringToBuffer(column_index_2, buffer);
    cursor.copyStringToBuffer(column_index_3, buffer);
    cursor.copyStringToBuffer(column_index_4, buffer);
    cursor.copyStringToBuffer(column_index_5, buffer);
    cursor.moveToNext();
}

上述代码在 Galaxy Nexus 上大约需要 750 毫秒。在旧设备上,它可能会慢几倍。我可以让它更快吗?

(此时,您可能正在输入诸如“为什么需要将行加载到内存中?”之类的内容,这有点复杂,但如果有人感兴趣,我可以尝试解释一下。编辑:这是解释:https://gist.github.com/fhucho/af355d56ae3145e3e30f)

最佳答案

首先我建议你只加载前 1000 行,然后使用 AsyncTask 加载更多。

您可以在这里找到回复 http://www.javasrilankansupport.com/2012/11/asynctask-android-example-asynctask-in.html

希望对你有帮助

关于android - 从 SQLite 数据库加载 10000 行最快的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17024848/

相关文章:

android - 如果我通过数据库浏览器更新数据库,它在我的应用程序中不会改变

android - Gradle 构建失败说 : Could not find org. jetbrains.kotlinx :kotlinx-collections-immutable-jvm:0. 3.3

android - 软键盘不会触发 ScrollView 中的滚动

android - React Native 隐藏底部导航

java - 如何获得不重复的随机整数?

android - 不区分大小写字母顺序的 SQLite 查询

python - 在 sqlite3 中引用(外键)表的一列通过连接其他两个表中的两列

java - 房间编译问题 - 列引用了外键,但它不是索引的一部分

android - 更新一行数据 sqlite android

字段为空时的 Android 房间顺序