vir*_*sir 9 java multithreading android
我目前正在开发Android应用程序,它需要从互联网下载内容.我使用线程来执行该操作,然后调用runOnUiThread方法来更新GUI.
我不会为每个刷新操作启动一个新线程,而是为所有后台下载工作创建一个线程,循环并下载队列中排列的内容。这可确保您不会同时下载内容并节省资源。
在 GUI 中,只要用户提示您,您只需将刷新请求排队即可,并且可以通过调用HttpRequestBase.aborthttp 方法实例来中止正在运行的下载。后台线程应该接收并捕获 aSocketException并继续处理下一个排队的请求。
要结束后台线程,您只需结束其循环即可。您可以使用Looper和Handler类来帮助您完成上述所有操作,HandlerThread您提到的类只是一个方便的类,用于创建具有Looper.
ing 线程的问题interrupt在于它不会使您摆脱阻塞 I/O 请求,并且InterruptException正确处理可能会很复杂。因此,根据具体情况,我会说是的,更好的做法是通过从其方法返回来结束线程run。
| 归档时间: |
|
| 查看次数: |
3667 次 |
| 最近记录: |