Java Jsoup.connect().get()中的OutOfMemoryError
尝试使用Android上的Jsoup连接到某些站点时,会抛出java.lang.OutOfMemoryError异常。 例如: 如何避免这个问题Java Jsoup.connect().get()中的OutOfMemoryError,java,android,jsoup,Java,Android,Jsoup,尝试使用Android上的Jsoup连接到某些站点时,会抛出java.lang.OutOfMemoryError异常。 例如: 如何避免这个问题 jsoup1.7.1似乎get方法将所有内容都存储在内存中,因此当您加载一个大内容时,就会得到OOME 据我所知,您的选择包括: 加载一个较小的文档,您试图加载的文档似乎很大。内存特别是在手持设备上 将文档分块预处理,然后一次处理一个文档,这样就不会占用太多内存 在内存较大的环境中运行程序 弄清楚Jsoup是否可以执行缓冲IO,如果不使用其他库或编写自
jsoup1.7.1似乎get方法将所有内容都存储在内存中,因此当您加载一个大内容时,就会得到OOME 据我所知,您的选择包括:
OutOfMemoryError表示应用程序使用的内存超过了可用内存。(呸!) 你的选择是:
- 增加应用程序允许使用的内存量
- 减少应用程序使用的内存量。例如:
- 在使用jsoup解析整个文档之前,不要读取并缓冲整个文档
- 确保在内存中没有保存太多正在爬行的页面的信息。要么将其写入文件系统,要么动态地“减少”它
- 分析应用程序的内存使用情况,以查找内存过度使用导致的泄漏和其他问题
Jsoup.connect("http://www.xbox360achievements.org/game/grand-theft-auto-iv/guide/").get();