我的應用程序需要保存範圍從2-20mb的文件。當我試圖做到這一點時,我得到了一個OutOfMemoryException。我做了一些閱讀,看起來Android的文件大小限制爲1mb。它是否正確?如果是這樣,是否有辦法解決這個限制,除了把每個文件分成1mb塊?約1mb的文件大小限制嗎?
1
A
回答
5
主應用程序需要很小,就像< 1 MB,但只要將它們保存到存儲卡上,您可以隨心所欲地保存儘可能多的文件並儘可能多地保存。可用於應用程序(和其他安全數據)的可用空間有限,通常在128 MB以下。所以基本上你需要保持你的應用程序很小,並把大部分作爲附加或附加文件放在存儲卡上。如果您的應用程序將從可用空間使用20MB,它將大大減少將使用它的人數。
2
OutOfMemoryError表示您超出了虛擬機的RAM預算,這取決於您使用的設備是16MB還是24MB。它與文件大小無關。
您可能引用的1MB限制是APK文件中壓縮資源的最大大小。
您的應用專用數據區域或外部存儲中的文件可能與文件系統允許的文件一樣大。 (我聽說Android用於SD卡的FAT32實現對單個文件有2GB限制,但不記得該線程的解決方案。)可用磁盤空間可能是一個更大的問題。
回到原來的問題,檢查logcat輸出(通過adb logcat
或DDMS),以查看在OOM啓動之前是否有來自垃圾回收器的消息。
相關問題
- 1. C#文件大小限制
- 2. AsyncFileUpload文件大小限制
- 3. Perl文件大小限制
- 4. 限制文件流的文件大小?
- 5. np.fromfile文件大小的最大限制?
- 6. 文件上傳限於1MB?
- 7. fopen有大小限制嗎?
- 8. 在asp中上傳文件大小時可以限制文件大小嗎?
- 9. php(和codeigniter)上傳大小限制爲1MB
- 10. 根據HTML5畫布調整大小限制圖片大小(<1MB)
- 11. TeamCity的文檔文件大小限制
- 12. CTFramesetterSuggestFrameSizeWithConstraints不限制結果約束大小
- 13. 針對大小小於1MB的對象的SQL文件流
- 14. 的Windows Azure表存儲行大小限制爲小於規定1MB
- 15. 文件大小限制的iOS(5.1+)
- 16. Python:寫入文件的大小限制
- 17. 本地文件夾的大小限制?
- 18. 對excel文件大小的限制
- 19. Samba上的文件大小限制
- 20. MongoDB的文件大小限制
- 21. csv文件的字段大小限制
- 22. 限制用戶的文件夾大小
- 23. MFMailComposeViewController附件文件大小限制
- 24. Docusign附件文件大小限制
- 25. 在Linux上,2G是coredump文件的限制大小嗎?
- 26. 對於java文件的大小有限制嗎?
- 27. 閱讀BlobstoreInputStream大小> = 1MB
- 28. 想讀爲1MB大小的最大
- 29. 下載帶有最大文件大小限制的.zip文件
- 30. 是否有.csv文件的最大文件大小硬限制?
我不認爲這是準確的。例如,瀏覽器是一個應用程序,但它可以下載任意大小的文件。你確定這不是你的應用程序的問題嗎?你有沒有檢查,看看你實際上有足夠的空間? – 2010-03-26 03:26:37
你能更準確嗎......你是否正在進行服務器調用?是否在解析或獲取輸入流時出錯。 – DeRagan 2010-03-26 06:50:04
我在android模擬器上運行它,而不是實際的設備。我的應用程序下載一個xml文件,解析它,將信息存儲在自定義的可序列化類中,然後使用ObjectOutputStream將其寫入文件。 解析並存儲在類中工作正常。只有當我試圖保存文件時,我纔會遇到問題。事實上,如果我從課堂上刪除大約2/3的數據,它可以很好地保存。我猜想,由於數據在內存中佔用了大量空間,因此保存文件可能會將其推到邊緣。有沒有辦法增加應用程序的總分配虛擬內存? – Sarevok 2010-03-27 01:55:25