尝试在 Android 上使用 Jsoup 连接到某些站点,它会引发 java.lang.OutOfMemoryError 异常。例子:
Jsoup.connect("http://www.xbox360achievements.org/game/grand-theft-auto-iv/guide/").get();
可以做些什么来避免这个问题?
Jsoup 1.7.1
OutOfMemoryError 意味着您的应用程序使用的内存超出了它的可用内存。(呃!)
您的选择是:
增加允许应用程序使用的内存量。
减少应用程序使用的内存量。例如:
在使用 jsoup 解析之前不要读取和缓冲整个文档。
确保您没有在内存中保留太多正在抓取的页面的信息。要么将其写入文件系统,要么即时“减少”它。
分析应用程序的内存使用情况,以查找泄漏和其他内存使用过多的问题。
似乎 get 方法将所有内容都存储在内存中,因此当您加载大型内容时,您会得到 OOME
从我可以看到你的选择是: