[英]Android Jsoup connect freezes thread
我嘗試使用Json.connect加載數據:
Document doc = Jsoup.connect("http://google.com").timeout(2000).ignoreContentType(true).get();
它使我的asynctask線程凍結了很長時間(似乎不會停止)。 我也嘗試刪除“ timeout(2000)”,使用另一個URL,刪除“ ignoreContentType(true)”,但是問題一次又一次出現。 我使用的是android studio 2.0; 在我的build.gradle中,我使用compile 'org.jsoup:jsoup:1.8.3'
。 我也用try { ... } catch (Throwable t) {}
包圍了這個塊,但是它永遠不會捕獲塊。 怎么了
此代碼僅用於測試此類,永遠不會訪問Log.d
和e.printStackTrace()
。 Android監視器顯示永久電話的cpu加載。
class WebLoader extends AsyncTask<String, Void, String> {
private WhatToLoad whatToLoad;
public WebLoader(WhatToLoad whatToLoad) {
this.whatToLoad = whatToLoad;
}
@Override
protected String doInBackground(String... params) {
return downloadUrl(params[0]);
}
protected void onPostExecute(InputStream stream) {
onWebResult(whatToLoad, stream);
}
}
private static String downloadUrl(String myurl) {
try {
Document doc = Jsoup.connect("http://google.com").timeout(2000).ignoreContentType(true).get();
Log.d("jsoup1", doc.toString());
return doc.toString();
} catch (Throwable e) {
e.printStackTrace();
}
return null;
}
編輯:當我從官方網站運行示例時,也會發生相同的問題:
Document doc = Jsoup.parse("<html><head><title>First parse</title></head>"
+ "<body><p>Parsed HTML into a doc.</p></body></html>");
Element body = doc.body();
日志:
04-09 17:56:53.810 32615-32629/com.abc.def W/art: Suspending all threads took: 6.560ms
04-09 17:57:32.890 32615-32629/com.abc.def W/art: Suspending all threads took: 5.075ms
04-09 17:58:23.520 32615-32629/com.abc.def W/art: Suspending all threads took: 6.361ms
04-09 17:58:28.530 32615-32629/com.abc.def W/art: Suspending all threads took: 5.165ms
04-09 17:58:30.040 32615-32629/com.abc.def W/art: Suspending all threads took: 5.637ms
04-09 17:58:30.540 32615-32629/com.abc.def W/art: Suspending all threads took: 5.995ms
04-09 17:59:46.210 32615-32629/com.abc.def W/art: Suspending all threads took: 5.289ms
我終於解決了。 當您在上設置斷點時,似乎在android studio中存在問題
Jsoup.parse
要么
Jsoup.connect
方法。 當我在這些方法之后設置斷點時,它們的運行速度非常快,但是,如果我在這些方法之一上設置斷點,則調試器會在此方法之前和按resume之后停止運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.