我目前正在开发Android应用程序,它需要从互联网下载内容。我使用线程来完成这个任务,然后调用runOnUiThread方法来更新GUI。
- 我在上面放置了一个刷新菜单,如果用户尝试刷新内容,下载线程将被创建并启动。问题是如何控制线程顺序,我需要接受最新请求的响应并且如果还有其他请求仍在运行,则放弃之前的线程请求,因为请求参数可能已经被用户更改。目前我使用threadId来实现这个操作,当一个线程完成时,它会检查它的threadId,如果它是最新记录的一个,那么它就会控制并呈现响应。 我的问题是是否有其他更合适的解决方案?
- 当用户退出应用程序时,我需要停止线程吗?我记得有些书说不要手动停止线程而是等待它自己完成是一种好的做法,这是真的吗?我应该通过调用“stop”或“interrupt”方法来停止它们吗?
- 我阅读了一些关于Android中线程的文档,并发现了类HandlerThread,它是什么?在什么情况下我需要使用它?