延迟加载 ram 内存和对象中的所有数据

lazy load all data in ram memory and objects

我打算从 Internet 加载数据,并在带有 material 设计(带有导航抽屉)的片段中的自定义列表视图中显示它们,现在我正在搜索延迟加载,然后我看到了有关缓存的内容缓存和内部存储中的数据,所以我很困惑,因为我不知道该怎么做,实际上我很害怕,但我有一个想法,因为它是关于加载数据而不保存数据的,所以我决定问问你,将数据加载到Ram(加载到对象而不将其保存到内部存储)对象中是否存在问题。恐怕如果用户在一段时间后浏览该应用程序,应用程序将崩溃

1. 使用 RecyclerView,而不是 ListView 用于列表

2. 如果数据有图像,你必须使用支持加载图像的库,如 Picasso,Glide,......以防止由于缺少 RAM 而导致崩溃

3 你应该添加loadmore功能,例如先加载30个项目,然后你可以加载更多并更新RecyclerView数据

编辑

如果数据量大可以使用后台任务全部下载

完全没问题 除非数据非常庞大,比如列表中有 1000 多个项目。如果您不想离线支持,则不应将此数据保存在磁盘上。

以上仅适用于文本,如果您的数据中有图片(假设 图片网址),您应该将其留给像 Glide, Picasso & UIL 这样的库,它们会处理 内存(RAM) & 磁盘缓存 给你。

大多数情况下预优化是矫枉过正的,不要太担心你没有的问题。