gpt4 book ai didi

java - Android 内存不足错误,HashMap 中出现 20MB 文本文件

转载 作者:太空宇宙 更新时间:2023-11-04 14:16:49 25 4
gpt4 key购买 nike

(Android 初学者问题:)我正在将 25MB 同义词库文本文件加载到 HashMap 中,但出现内存不足致命异常。我研究了这个网站,寻找其他方法来做到这一点,但我仍然不确定。将文本文件拆分为多个较小的文件(例如 26 个,每个字母一个),然后根据程序需要将它们从文本文件读取到 HashMap 是否明智?有更好的方法吗?该应用程序旨在显示用户输入的单词的所有同义词。

12-23 13:04:44.336: E/AndroidRuntime(9865): FATAL EXCEPTION: main
12-23 13:04:44.336: E/AndroidRuntime(9865): Process: com.example.dictfromtextfile, PID: 9865
12-23 13:04:44.336: E/AndroidRuntime(9865): java.lang.OutOfMemoryError: Failed to allocate a 6532 byte allocation with 4262 free bytes and 4KB until OOM
12-23 13:04:44.336: E/AndroidRuntime(9865): at java.lang.AbstractStringBuilder.enlargeBuffer(AbstractStringBuilder.java:95

最佳答案

强烈不建议将整个文件立即加载到内存中,并且会引发 OutOfMemoryException 错误,具体取决于您使用的设备。您可以使用 SQLite 数据库来存储数据并对其执行数据库操作以搜索、插入或删除数据。

如果您希望将数据存储在文本文件中,可以使用 BufferedReader 使用 readLine() 方法逐行读取文件(仅在需要时将每一行加载到内存中)。然后,您可以用自己的类包装它,以启用您需要的所有功能,例如搜索。

关于java - Android 内存不足错误,HashMap 中出现 20MB 文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27621597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com