【发布时间】:2015-12-27 05:45:47
【问题描述】:
我有一个关于我的活动的列表视图,我想为列表视图实现输入搜索功能并有权访问过滤器。但是,数组中有很多字符串,以至于 Activity 需要一段时间才能加载或崩溃。
目前我只能在 String 数组崩溃之前存储四分之一的字符串。我已经尝试以编程方式添加字符串,也可以通过 android 文档中描述的 XML 来添加字符串。
存储信息而不是将它们保存在字符串数组中的最佳替代方法是什么?
提前致谢。
【问题讨论】:
-
显示一些代码以便其他人可以提供帮助如何?
-
一种方法是在内存中维护一个小的 LRUMap 并将所有字符串存储在一个文件中。如果搜索有命中,直接从地图返回。如果没有,则从文件中流式传输数据,然后在 Map 中显示并保存。
-
另一种方式是每次只显示10/20个项目,并带有“加载更多”的按钮
-
@Nirel 这是个好主意。如果我想不出别的,我想我会实现的。
-
使用
sqlitedb +SimpleCursorAdapter+FilterQueryProvider- 它不应该超过十几行(或最多两行)有效代码
标签: java android arrays performance