我正在处理我的一个应用程序中的性能问题。也许你们中的一个可以帮助我?!
我有一个大约有 10k 条目的数据库。我使用SQLiteDatabase类中的默认查询方法查询元素。查询本身足够快。
查询完成后,我必须在 Google 地图上显示结果。为此,我从包含标记信息的光标生成一个结果数组。
我使用的方法看起来有点像这样:
final ArrayList< MarkerElement > result = new ArrayList< MarkerElement >();
cursor.moveToFirst();
while ( !cursor.isAfterLast() ) {
result.add( new MarkerElement(
cursor.getString( COL_TITLE ),
cursor.getString( COL_SNIPPET ),
new LatLng(
cursor.getDouble( COL_LAT ),
cursor.getDouble( COL_LNG ) ),
cursor.getString( COL_OTHER_USEFUL_DATA ) );
cursor.moveToNext();
}
cursor.close();
MarkerElement只是一个简单的类,它保存 Google 地图上标记所需的值。
现在的问题是,遍历所有游标元素需要很长时间。此外,我想不出一种聪明的方法来延迟加载 ListView 中的结果,因为我需要同时显示所有结果。
我能做些什么来显着加快这个过程吗?
任何帮助是极大的赞赏!
此致