我的应用程序需要保存大约2-20mb的文件。当我尝试这样做的时候,我得到了一个OutOfMemoryException。我做了一些阅读,看起来Android的文件大小限制为1mb。这是正确的吗?如果是这样的话,除了将每个文件分成1mb的块之外,还有什么方法可以绕过这个限制吗?
发布于 2010-03-27 01:58:16
OutOfMemoryError意味着你超出了虚拟机的内存预算,根据你使用的设备,内存预算是16MB或24MB。它与文件大小无关。
您所指的1MB限制可能是APK文件中压缩资产的最大大小。
应用程序私有数据区或外部存储中的文件可以像文件系统允许的那样大。(我听说安卓用于SD卡的FAT32实现对单个文件有2 2GB的限制,但不记得那个线程的分辨率了。)可用的磁盘空间可能是一个更大的问题。
回到原来的问题,检查logcat输出(通过adb logcat或DDMS),看看在触发对象模型之前是否有来自垃圾收集器的任何消息。
https://stackoverflow.com/questions/2520962
复制相似问题