当我试图理解Android中的Processes和Threads概念时,我感到困惑。下面我提几个问题。也许这些都是愚蠢的问题,但请帮助我回答这些问题,澄清我的疑虑。
1)如果我创建一个线程,它将在哪里运行?在Main(UI) Thread中
2)如果我创建的线程作为辅助Thread在后台运行,那么AsyncTask的用途是什么(我的意思是说它比线程更好)?
3)我们可以在AsyncTask中创建线程吗?
发布于 2014-04-04 12:44:09
1. If i create a thread where it will run? in Main(UI) thread/Worker Thread?它将在工作线程中运行,而不是在主线程中运行。
2.If my created thread runs on worker `Thread` then what is the use of `AsyncTask` (I mean how it is better than thread)?AsyncTask用于与主要的Thread..For示例进行通信,您正在从internet下载文件,因此在这里您需要更新Activity..for中的下载进度,这个AsyncTask更适合。您将使用onProgressUpdate() method.So更新Ui,您可以轻松地与UI线程通信。
3)Can we create a thread in Async task?是的,您可以创建它,但是它是无用的,因为AsyncTask有一个已经在不同的Thread中运行的doInBackGround()方法,所以不需要在AsyncTask中创建一个新的Thread。
发布于 2014-04-04 12:43:35
发布于 2014-04-04 12:47:38
1)它将作为工作线程运行,而不是在UI线程上运行。
2)异步任务为您提供了在任务完成之前或之后执行某些内容的可能性。在从internet连接或类似操作中获取数据后必须更新UI值时,尤其有用。对于进步对话也很有用。它是类的一种类型(扩展AsyncTask),所以它有更多的结构,而不是仅仅启动一个线程。
3)不,你可以。这是否对你非常有用,是一个完全不同的问题。
https://stackoverflow.com/questions/22863052
复制相似问题