当前位置: 首页 > 知识库问答 >
问题:

codename one中有大量数据,内存不足

隗星驰
2023-03-14

我的Codename One应用程序下载了大约16000条数据记录(每条记录中大约有10个字段)。

在我的Android手机(OS6.0,RAM 2GB)上,它能够加载8000到9000条记录,但随后显示内存不足错误。

从跟踪来看,它似乎用完了分配给应用程序的堆内存。

有什么建议吗?请问处理如此大量数据的理想方法是什么?

这是日志文件

共有2个答案

岑鸣
2023-03-14

这可能不适用于您的情况,但是否可能一次只下载x条记录?然后,当用户采取一些行动(滚动,点击下一页等),它加载下一批?代号一有一个伟大的无尽的滚动实现。请看这里的例子-https://www . codename one . com/blog/property-cross-revisited . html

卫和洽
2023-03-14

手机RAM的多少并没有太大的意义。操作系统占用大约一半,然后将剩余部分分配给并行运行的各种应用程序。你通常很少看到一个应用程序可以使用的最大内存量是多少?

您需要检查代码并检查是什么占用了内存。每个1kb的16k记录可能是16Mb,这可能不会导致应用程序崩溃,所以问题是内存占用在哪里,我建议阅读开发人员指南的性能部分,了解内存使用情况。

 类似资料:
  • 有没有一种方法可以使用H2O迭代大于集群累积内存大小的数据?我有一个大数据集,我需要批量迭代并输入Tensorflow进行梯度下降。在给定的时间,我只需要在内存中加载一批(或少数)。有没有一种方法可以设置H2O来执行这种迭代,而无需将整个数据集加载到内存中? 这是一个相关的问题,一年多前就已经回答了,但没有解决我的问题:在h2o中加载大于内存大小的数据

  • 本文向大家介绍php查询mysql大量数据造成内存不足的解决方法,包括了php查询mysql大量数据造成内存不足的解决方法的使用技巧和注意事项,需要的朋友参考一下 本文实例分析了php查询mysql大量数据造成内存不足的解决方法。分享给大家供大家参考。具体分析如下: 一、问题 使用php查询mysql大数据量的时候,程序尚未执行完毕,跳出警告: Fatal error:  Allowed memo

  • 我正在尝试在h2o中加载大于内存大小的数据。 H2o博客提到: 下面是连接到h2o 3.6.0.8的代码: 给 我试着把一个169 MB的csv加载到h2o中。 这抛出了一个错误, 这表示内存溢出错误。 问:如果H2opromise加载大于其内存容量的数据集(如上面的博客引述所说的交换到磁盘机制),这是加载数据的正确方法吗?

  • 问题内容: 我的磁盘上只有168MB的文件。这只是一个逗号分隔的单词,id的列表。该单词的长度可以为1-5个字符。有650万行。 我在python中创建了一个字典,将其加载到内存中,因此我可以针对该单词列表搜索传入的文本。当python将其加载到内存中时,它显示已使用的1.3 GB RAM空间。知道为什么吗? 假设我的word文件如下所示… 然后再加上650万。然后,我遍历该文件并创建一个字典(p

  • 问题内容: 我正在尝试加载大于h2o中的内存大小的数据。 H2o 博客提到: 这是连接到的代码: 给 我试图将169 MB的csv加载到h2o中。 这引发了错误, 这表示内存不足错误。 问题:如果H2o承诺加载大于其内存容量的数据集(如上面的博客引文所述,交换到磁盘机制),这是加载数据的正确方法吗? 问题答案: 由于性能太差,默认情况下前一会默认禁用“交换到磁盘”。流血边缘(不是最新稳定的)具有启

  • 问题内容: 要点: 我们一天可以同时处理数千个平面文件。 内存限制是一个主要问题。 我们为每个文件进程使用线程。 我们不按列排序。文件中的每一行(记录)都被视为一列。 不能做: 我们不能使用Unix / Linux的sort命令。 无论多么轻巧,我们都无法使用任何数据库系统。 现在,我们不能只加载集合中的所有内容并使用排序机制。它将耗尽所有内存,程序将得到堆错误。 在这种情况下,您将如何对文件中的