我想在我的应用上进行搜索,我正在使用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
答案 0 :(得分:1)
它不会产生太多问题。它只消耗一点内存。我使用Auto Complete TextView在列表中使用大约8000个项目,这对我来说很好。 如果你担心这个问题,只需检查两种情况下设备监视器上的内存使用情况。 你可以这样做:
希望这会有所帮助。