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、内存和网络使用情况。
希望这会有所帮助。
我想在我的应用程序上进行搜索,我正在使用一个 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、内存和网络使用情况。
希望这会有所帮助。