2017-06-10 12 views
0

私のアプリケーションで検索を行いたい、リソースに複数の文字列配列を使用するAutoCompleteTextViewを使用しています。このようにしています:複数のリソース文字列配列を使用するAutoCompleteTextView

List<String> list = new ArrayList<>(); 

String[] array1 = getResources().getStringArray(R.array.array1); 
String[] array2 = getResources().getStringArray(R.array.array2); 
... 

list.addAll(Arrays.asList(array1)); 
list.addAll(Arrays.asList(array2)); 
... 

AutoCompleteTextView autoView = (AutoCompleteTextView) findViewById(R.id.auto_complete); 

ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, list); 

autoView.setAdapter(adapter); 

それはnicelly動作しますが、私は、パフォーマンスと私のアプリのメモリは、「原因それぞれのアレイ(全体で400以上)には多くのitensがあるときに疑問に思い、そのすべて追加するリストを作成した場合、私は思ったんだけどitens(私がやっているような)はあまりにも多くのメモリを取ることができますか? 私がやっているこの方法は間違っているか、それは正しいのですか?アプリのパフォーマンスを損なう可能性がありますか?

誰でも知っていますか?

thx

+0

あなたは自動完成テキストビューをより効率的にすることができます。このスレッドを見てください: https://stackoverflow.com/questions/30910098/efficient-autocompletetviewview – sumit

答えて

1

大きな問題は発生しません。それは少しのメモリを消費するだけです。私は約8000項目をAuto Complete TextViewと一緒に使用していますが、これはうまく動作します。 このことが心配な方は、両方のケースでデバイスモニタのメモリ使用量を確認してください。 このようにすることができます:

  • ADB経由でデバイスを接続します。
  • アプリを実行します。
  • Logcat/Android Moniterを開きます。
  • [モニタ]タブに移動します。
  • モニタタブでは、CPU、メモリ&のネットワーク使用状況が表示されます。

これが役に立ちます。

+0

あなたの助けを借りて、ところで、私はキーボードが画面に表示されるとすぐに表示する方法を知っているautoCompleteTextViewが表示されますか?私はautoCompleteTextView 'android:focusableI =" true "'と 'android:focusableInTouchMode =" true "'を追加しようとしましたが、うまくいきませんでした:(そして、キーボードをクリックしても消えません。 – Anita

関連する問題