java - Jsoup.connect().get() 中的 OutOfMemoryError

标签 java android jsoup

尝试在 Android 上使用 Jsoup 连接到某些站点,它抛出 java.lang.OutOfMemoryError 异常。 示例:

Jsoup.connect("http://www.xbox360achievements.org/game/grand-theft-auto-iv/guide/").get();

如何避免这个问题?

Jsoup 1.7.1

最佳答案

OutOfMemoryError 意味着您的应用程序使用的内存超过了可用内存。 (呃!)

您的选择是:

  • 增加允许应用使用的内存量。

  • 减少应用使用的内存量。例如:

    • 在用 jsoup 解析之前不要读取和缓冲整个文档。

    • 确保您没有在内存中保留太多来自正在抓取的页面的信息。要么将它写入文件系统,要么即时“减少”它。

    • 分析应用的内存使用情况,以查找泄漏和其他内存使用过多的问题。

关于java - Jsoup.connect().get() 中的 OutOfMemoryError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13962778/

相关文章:

java - JSoup 从 img 类中提取标题

java - 如何在不是来自 JNDI 的 JPA EntityMangerFactory 上设置数据源

java - 在 REST 客户端和 Jersey Java 代码完成的 REST 调用的响应中获取不同的内容类型

android - 将约束 View 与数据绑定(bind)一起使用会导致错误 "Execution failed for task ' :app:mergeDebugResources'. >

java - 有什么方法可以清除 Java 中 DataInputStream 的数据? (一个安卓应用程序)

listview - 使用 JSoup 作为服务显示超链接的 ListView

java - 在 Java 中更改字段值时遇到问题

java - protobuf 中 ByteSize() 的等价物

android - MediaStore:获取图像数据、缩略图和文件夹

android - JSoup html 解析 - 在解析之前只下载 html 页面的一部分(不是整个)?