0

我想在缓存上保存一个 ListView,但我不知道该怎么做。该列表是从 SQL 读取并按字母顺序排列的。它有分隔符,因此它必须读取所有条目并按字母对它们进行分类,以便将分隔符添加到正确的位置。我认为将列表保存在缓存中比每次都构建它更快。这是正确的?如何将视图保存在缓存中?

4

1 回答 1

1

我认为将列表保存在缓存中比每次都构建它更快。这是正确的?

不一定正确,假设保存列表 = 保存整个视图及其绘图缓存。无论如何,我认为没有一种简单的方法可以做这样的事情。

但好消息是你真的不需要这样做!

如果您的列表加载速度不快,可能是因为您在getView()方法内部进行了很多操作,例如解码位图、解析大量数据或类似的事情。

如果您想以正确的方式进行操作 - 如果您有图像,请缓存图像,然后下次从缓存中加载它们并在单独的线程中进行解码(AsyncTesk为此目的使用或其他 API 组件之一) . 如果您正在进行一些繁重的计算或解析 - 也将结果缓存在数据库中,并在下次加载它们(例如,将数据按字母顺序保存在数据库中)

使用这种方法,您确实没有理由感到用户体验有任何缓慢。视图不应该以您描述的方式“保存”,我真的相信没有理由这样做,因为如果使用得当,Android 的“加载”视图的机制工作得很好

希望对你有帮助,祝你好运。

于 2013-01-11T13:14:14.487 回答