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

AutoCompleteTextView using more than one resource string-array

我想在我的应用程序上进行搜索,我正在使用一个 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(就像我正在做的那样)会占用太多内存吗? 我这样做是错的还是对的?会损害应用程序性能吗?

有人知道吗?

感谢

不会造成太大问题。它只是消耗一点内存。我在列表中使用了大约 8000 个带有自动完成 TextView 的项目,这对我来说很好用。 如果您担心这件事,只需在设备监视器上检查这两种情况下的内存使用情况。 您可以这样做:

  • 通过 ADB 连接您的设备。
  • 运行 你的应用程序。
  • 打开Logcat/Android监控。
  • 转到监控选项卡。
  • 在监视器选项卡中,您可以看到 CPU、内存和网络使用情况。

希望这会有所帮助。