AutoCompleteTextView使用多个资源字符串数组

时间:2017-06-10 16:29:43

标签: android arrays performance 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);

它工作得很好,但我对我的应用程序的性能和内存有疑问,因为每个阵列上有很多itens(总共超过400),所以我想知道是否创建一个列表来添加所有itens(就像我在做的那样)可以占用太多的记忆? 我这样做是错的还是对的?会损害应用性能吗?

有谁知道?

THX

1 个答案:

答案 0 :(得分:1)

它不会产生太多问题。它只消耗一点内存。我使用Auto Complete TextView在列表中使用大约8000个项目,这对我来说很好。 如果你担心这个问题,只需检查两种情况下设备监视器上的内存使用情况。 你可以这样做:

  • 通过ADB连接您的设备。
  • 运行您的应用程序。
  • 打开Logcat / Android Moniter。
  • 转到监视器标签。
  • 在监视器选项卡中,您可以看到CPU,Memory&amp;网络使用。

希望这会有所帮助。