Android:加载文本文件时出现内存不足错误。如何在加载文件之前获取可用内存

时间:2011-08-16 07:38:36

标签: android heap out-of-memory

我想在文字处理应用中加载文本文件。但是当文件太大时我会出现内存错误。我最终确定我可以加载最多1 MB的文件。但有时即使是1MB文件,我也会内存不足。但在加载之前我必须说是否可以加载文件。

除了freeMemory()之外,我尝试了寻找最大可能内存的解决方案, 即freememory +(maxmemory - totalmemory),它将为应用程序提供可用的总内存。 (假设它大约是18MB到20MB)。但是在完全利用堆之后我得到了outofMemory错误。比方说(24 MB)。

  1. 在加载1MB文件时,我的问题是(18MB到20 mb)的“最大可用内存”用于分配。

  2. 有多少内存可用于加载1MB文件。

  3. 如何粗略计算它。

  4. 有没有任何出路的PSS,Privatedirty。我对PSS了解不多。但是我在“如何在Android中发现我的应用程序的内存使用情况”一文中总结了很多信息

  5. 由于

1 个答案:

答案 0 :(得分:0)

请记住,将文件存储在变量中的方式非常重要。手动使用char数组是最节省内存的方法之一,但您仍然需要考虑每个占16位或2字节的字符。因此,如果您使用某些8位编码的文本文件并将其加载到char数组中,则需要两倍的空间。