我需要在AutoCompleteTextView
的建议中显示城市名称。
我已将所有名称保存在res/values/strings.xml
的数组中。
但它是一个大数组。它接近 15,000 名称。
但我担心这可能会造成一些内存问题。还有其他方法可以在android中保存这么多数据吗?
我认为最好的方法是创建一个网络服务,但是有没有其他解决方案可用而不是网络服务,因为我对网络服务不太熟悉?
答案 0 :(得分:0)
如果您拥有大量数据,那么最好选择ListViews而不是使用AutoCompleteTextView。通过将Textview保持在该Listview之上来向该Listview添加搜索功能。每个适配器都有getFilter
我们可以通过它过滤List。这也很容易。
第二个选项:将strings.xml保存在XML或原始文件夹中,并使用sax或Dom解析器解析它。
最后,据我所知,将数据保存在strings.xml中将增加apk大小,但不会增加堆。即使你从本地或Webservice带来XML,无论如何你需要在所有方面将它保存在堆中。