Android: pesquisa de grandes arrays

Eu tenho um conjunto de registros de cerca de 29.000 registros. My Screen contém EditText Box para Search Criteria e Listview contendo todos os 29.000 registros.

Ao pesquisar com a maneira listada, leva tempo e não dá vazão menos saída como eu preciso.

Meu EditText contém

<code>final EditText txtSearchCity = (EditText) findViewById(R.id.edtCity);
        txtSearchCity.addTextChangedListener(new TextWatcher() {
            @Override
            public void afterTextChanged(Editable s) {
            }

            @Override
            public void beforeTextChanged(CharSequence s, int start, int count,
                    int after) {
            }

            @Override
            public void onTextChanged(CharSequence s, int start, int before,
                    int count) {
                aCountryIDTemp.clear();
                aCityStateTemp.clear();

                for (int i = 0; i < aCountryID.size(); i++) {
                    if (aCityState
                            .get(i)
                            .toLowerCase()
                            .contains(
                                    txtSearchCity.getText().toString()
                                            .toLowerCase())) {
                        aCountryIDTemp.add(aCountryID.get(i));
                        aCityStateTemp.add(aCityState.get(i));
                    }
                }

                BindList();
            }
        });
    }
</code>

O método BindList () está configurando o arraylist aCityStateTemp para o adaptador. Qualquer outra maneira de pesquisar e criar nova ArrayList dinamicamente.

questionAnswers(4)

yourAnswerToTheQuestion