android - 适用于非常大列表的 CWAC android 无尽列表适配器

标签 android commonsware-cwac

我想知道如何使用 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 ?

构建您自己的 AdapterViewAdapter 框架,该框架的工作原理是 Adapter 报告内部某些位置范围的内容一些更大的数据集。

How will the endless adapter behave when I scroll back up ?

与任何其他适配器相同。

关于android - 适用于非常大列表的 CWAC android 无尽列表适配器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12233358/

相关文章:

android - 应用程序 :compileFlutterBuildRelease error while building app flutter

java - Android 设置自定义首选项布局

Android 期望 android.support.v4.app.Fragment 为 CameraFragment 子类

android - 带有标题和 MergeAdapter 的可点击 ListViews 在 ListItemClick 上使应用程序崩溃

android - 根据设备屏幕尺寸自动将图像定位在图像上

android - 更新android webview后cordova应用程序突然关闭

具有不同大小的Android ListView toRightOf ImageView无需调整图像大小

android - 在 Android 中使用 AndDown 库

android - Android 的 FileProvider 是否真的支持外部文件路径?

android - 使用 CWAC 相机预览尺寸