从SQLite数据库加载10,000行到内存的最快方法是什么?每行有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毫秒。在较旧的设备上,它可能会慢几倍。我可以加快速度吗?
(此时,您可能会输入类似“为什么需要将行加载到内存中?”这有点复杂但我可以尝试解释是否有人感兴趣。编辑:这是解释:{{ 3}})
答案 0 :(得分:2)
首先,我建议您只加载前1000行,然后使用AsyncTask加载更多。
您可以在此处找到回复http://www.javasrilankansupport.com/2012/11/asynctask-android-example-asynctask-in.html
希望这个帮助