試圖連接到Android上的一些網站有Jsoup,它拋出java.lang.OutOfMemoryError異常。 例如:的OutOfMemoryError在Jsoup.connect()。get()方法
Jsoup.connect("http://www.xbox360achievements.org/game/grand-theft-auto-iv/guide/").get();
可以做些什麼來避免這個問題?
Jsoup 1.7.1
試圖連接到Android上的一些網站有Jsoup,它拋出java.lang.OutOfMemoryError異常。 例如:的OutOfMemoryError在Jsoup.connect()。get()方法
Jsoup.connect("http://www.xbox360achievements.org/game/grand-theft-auto-iv/guide/").get();
可以做些什麼來避免這個問題?
Jsoup 1.7.1
看來get方法存儲在內存中的一切,因此,當你加載一個大型的內容你OOME
從我可以看到你的選擇是:
OutOfMemoryError意味着您的應用程序使用的內存比可用的內存多。 (!咄)
的選項有:
增加該應用程序允許使用的內存量。
降低內存的應用程序不會使用量。例如:
不要在用jsoup解析之前讀取和緩衝整個文檔。
確保你不是從你抓取的網頁保存太多的信息在內存中。可以將它寫入文件系統,或者在運行中「減少」它。
簡介應用程序的內存使用情況,以尋找泄漏和其它問題過多的內存使用。
在HTML整個頁面〜200KB。不要以爲這是太多了。你可以發佈你的Java內存設置? – mishadoff
DVM有16MB堆大小。不是所有的設備,但最低限度。 –