我無法理解如何在RxJava中轉換簡單的AsyncTask。舉例:RxJava中的AsyncTask
private class Sync extends AsyncTask<String, String, String> {
@Override
protected String doInBackground(String... params) {
String proxy_arr = "";
try {
Document jsoup_proxy = Jsoup.connect(Constants.SITE_PROXY_LIST)
.userAgent(Constants.USER_AGENT)
.ignoreContentType(true)
.ignoreHttpErrors(true)
.timeout(Constants.USER_TIMEOUT)
.get();
if (jsoup_proxy != null) proxy_arr = jsoup_proxy.text().trim();
} catch (IOException e) {
new DebugLog(getActivity(), "News", "Sync PROXY", Log.getStackTraceString(e));
}
return proxy_arr;
}
@Override
protected void onPostExecute(String result) {
if (result.equals("err_internet")){
func.toastMessage(R.string.toast_err_nointernet, "", "alert");
}
reloadAdapter();
}
}
因爲它可以在相同的工作條件下翻譯RxJava? 謝謝!
作爲一個側面說明,在Android的使用Jsoup我的經驗是非常沉重。該庫沒有針對Android用例進行優化,並且創建了很多小而短暫的對象,這導致了很多GC工作。雖然我不確定是否有好的替代方案... – dimsuz