约1mb文件大小限制的方式?

时间:2010-03-26 03:14:09

标签: android

我的应用需要保存大约2-20mb的文件。当我尝试这样做时,我得到一个OutOfMemoryException。我做了一些阅读,看起来Android的文件大小限制为1mb。它是否正确?如果是这样,除了将每个文件拆分成1mb块之外,还有办法绕过这个限制吗?

2 个答案:

答案 0 :(得分:5)

主要应用程序需要很小,例如< 1 MB但您可以根据需要保存尽可能多的文件,只要将它们保存在存储卡上即可。可用于应用程序(和其他安全数据)的可用空间有限,通常低于128 MB。所以基本上你需要保持你的应用程序小,并把大部分作为附加或额外的文件,可以放在存储卡上。如果您的应用程序将在可用空间中使用20MB,那么将大大减少将使用它的人数。

答案 1 :(得分:2)

OutOfMemoryError意味着您超出了VM的RAM预算,即16MB或24MB,具体取决于您所使用的设备。它与文件大小无关。

您可能指的是1MB限制是APK文件中压缩资产的最大大小。

应用程序专用数据区域或外部存储中的文件可以与文件系统允许的文件一样大。 (我听说Android用于SD卡的FAT32实现对单个文件有2GB的限制,但不记得该线程的分辨率。)可用的磁盘空间可能是一个更大的问题。

回到原来的问题,检查logcat输出(通过adb logcat或DDMS),看看在OOM触发之前是否有来自垃圾收集器的任何消息。