我想知道如何使用 CWAC 的无尽适配器处理非常大的列表。
我主要关心的是内存管理。如果我缓存数千个项目,我最终会出现内存不足异常。那么我该如何处理该缓存呢?我可以清除之前的条目吗?
据我了解,当我们向下滚动列表时,无尽的适配器只会触发其cacheInBackground()方法和appendCachedData()。如果我想清除不再可见的早期条目(列表顶部)的缓存,该怎么办?
当我向上滚动时,无尽适配器将如何表现? 换句话说,无限适配器是双向的吗?如果没有,我可以解决这个限制吗?
提前致谢。
最佳答案
EndlessAdapter
与您的问题无关。只要您的底层适配器回收其行,适配器框架就可以很好地处理“非常大的列表”。然而,最终,您的模型数据将消耗过多的堆空间。
So how do I handle that cache ?
首先不要将“数千个项目”放入 ListView
中。为您的用户提供一些查找内容的方法,而无需在大量列表中进行筛选。
Can I clear earlier entries ?
不,正如您在任何其他适配器
中所做的那样。
What if I want to clear the cache for earlier entries (top of the list) that are not visible anymore ?
构建您自己的 AdapterView
和 Adapter
框架,该框架的工作原理是 Adapter
报告内部某些位置范围的内容一些更大的数据集。
How will the endless adapter behave when I scroll back up ?
与任何其他适配器
相同。
关于android - 适用于非常大列表的 CWAC android 无尽列表适配器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12233358/