在我的应用程序中,我做了不同的请求来获取网站的 HTML 代码。之后,App 会解析 HTML,可能会执行并解析另一个请求。最后,ListView 填充了解析后的数据。
现在我读到 Volley 在 UI 线程的 onResponse 方法中运行所有代码。所以也许最好在一个新线程中进行解析。我实现它如下。
new Thread(new HTMLSiteParsingTask(response)).start();
class HTMLSiteParsingTask implements Runnable {
String mResponse;
HTMLSiteParsingTask(String response) {
mResponse = response;
}
public void run() {
//do something...
callerActivity.addData(dataHashMap);
}
}
在处理结束时,我调用 MainActivity 的方法将数据添加到 Listview “callerActivity.addData(dataHashMap);”。此方法执行以下操作:
runOnUiThread(new AddItemsTask(ItemList));
AsyncTask 和 Thread 之间是否有区别,所以我应该使用其中之一?还是无所谓?有没有更好的方法来做这些事情?
谢谢您的回答