【发布时间】:2018-06-27 23:44:12
【问题描述】:
在我的应用程序中,我执行不同的请求来获取网站的 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 之间是否有区别,所以我应该使用其中之一?还是无所谓?有没有更好的方法来做这些事情?
感谢您的回答
【问题讨论】:
标签: android multithreading android-asynctask android-volley android-thread