我使用addTextChangedListener
将记录提取到适配器中。如果我异步查询数据库,那么没有滞后,但是一旦我输入单词,我就没有在我的AutocompleteTextView
中得到建议,如果我在UI线程上查询,那么就会出现严重的延迟。我已经索引了我的桌子。
如何提高sqlite
数据库性能。
查询
String where =x+" LIKE ?";
String[] whereArgs = new String[] {column_name+"%"};
cursor = db.query(TABLE_NAME,TABLE_COLUMNS,where,whereArgs, null, null, null, "10");
的AsyncTask
private class FindText extends AsyncTask<String, Void, Void>
{
private ArrayList<TextModel> textModels;
@Override
protected void onPreExecute() {
super.onPreExecute();
startSppiner("", "", false);
}
@Override
protected Void doInBackground(String... params) {
textModel= new StoreFactory(mActivity, 0).getSchedulesByWordSpecific(params[0].trim());
return null;
}
@Override
protected void onPostExecute(Void result) {
stopSppiner();
for(TextModel textModel: textModels)
{
mAdapter.add(textModel.getWord());
textMap.put(textModel.getText(), textModel);
}
mAdapter.notifyDataSetChanged();
}
}