【问题标题】:Getting heavy data throws Cursor Window: Window is full error获取大量数据会引发 Cursor Window: Window is full 错误
【发布时间】:2016-02-08 10:05:38
【问题描述】:

我是 android 新手,在我的应用程序中,我必须从服务器获取大量数据(其中两个是图像)并将其存储在本地数据库中。 到目前为止,我已经完成了标准方法,即一次获取所有数据并将其存储在本地数据库中。但是我出现了内存不足的错误。在获取大量数据时,我需要遵循什么准则吗?我还以 blob 形式将图像存储在本地数据库中。

【问题讨论】:

  • 最佳实践是将图像存储在文件系统中,并将路径存储在 sqlite 中。
  • 但我不希望用户看到这些图像。有什么方法可以实现吗?

标签: android performance localdatacache


【解决方案1】:

我认为这是因为查询结果对于光标的窗口来说太大了,它需要更多的内存或者是由于 blob image 引起的。

由于使用无限滚动或无限滚动满足您的要求,我建议使用它。

存储图像的最佳方法是将路径存储在数据库中并将图像存储在 SD 卡中

您将从以下链接获得使用回收器视图实现无限滚动视图的参考

http://android-pratap.blogspot.in/2015/06/endless-recyclerview-with-progress-bar.html

【讨论】:

  • 有没有办法通过json实现呢? nd srry 迟到的回应
  • 你能告诉我你的实际用例是什么
  • 好的。我要做的就是从服务器获取大量数据(包括文本数据和图像)并将其存储在我需要在列表视图中显示的本地数据库中。
  • android 列表视图中有一个无限滚动选项,您可以在列表视图中按需提供数据(一种分页)。能满足你的要求吗
  • 我知道无限滚动的概念。但现在我还没有使用过这个概念。是不是因为我收到“窗口已满错误”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-04-04
  • 2019-02-08
  • 2015-05-15
  • 1970-01-01
  • 1970-01-01
  • 2019-04-04
  • 2020-12-07
相关资源
最近更新 更多